周丹丹+楊靜+任楠



摘 要
采用視頻采集模塊對QR二維碼進行捕捉,然后傳入到樹莓派中,通過算法和Zbar的結合對采集到的視頻信息進行解碼和轉換,并將得到的數據信息儲存在數據庫中,同時輸出。利用樹莓派和zbar,順利實現了對QR二維碼信息的提取,儲存和輸出。測試結果表明,基于樹莓派的QR二維碼信息獲取的設計能夠完成識別、提取,解碼,數據庫儲存和顯示輸出。
【關鍵詞】樹莓派 ZbarQR 二維碼 數據庫
隨著計算機視覺與人工智能的發展,信息社會的高速發展,信息技術、自動化技術已逐漸滲透進人們的日常生活中。信息采集是信息技術中的重要環節,條碼技術是一種常用的自動化信息采集技術。二維碼是在普通一維條碼上擴展出另一維具有可讀性的條碼,具有比一維條碼大得多的信息容量,可以不依賴于后臺的數據庫或聯網;同時,二維碼有一維條碼沒有的“容錯機制”,即使在條碼被污損或殘缺等情況下,其中的信息仍然可以被正確地還原。QR 碼是常用的矩陣式二維碼的一種,又名快速響應矩陣碼(Quick Response Code),于1994 年由日本DENSO WAVE 公司發明。QR 碼目前主要應用在自動化文字傳輸、數字內容下載、網址快速鏈接、身份鑒別與商務交易等方面 本文中,筆者采用微處理器樹莓派對QR二維碼通過算法處理與計算分析,對QR碼中蘊藏的信息進行獲取,并將獲取到的信息存放在數據庫中。
1 硬件設計
本系統的硬件部分主要由視頻采集模塊、顯示輸出模塊和樹莓派B+微處理器及其周邊外設配置組成。系統在基于樹莓派 B + 微處理器和嵌入式 Linux 系統平臺上,首先通過USB 攝像頭捕獲QR二維碼圖像信息,將圖像信息傳入到樹莓派開發板內,通過圖像處理算法程序對其進行數據分析、解碼,然后通過顯示器將處理結果進行輸出,并將視頻信息解碼后的內容存入到數據庫中,系統硬件結構方框圖如圖 1 所示。
在圖像采集方面,視頻采集模塊直接采用免驅的USB 攝像頭。通過采用Zbar函數庫的功能可以更方便的提取QR二維碼信息。樹莓派B + ( Rasp-berry Pi Model B + ) 微處理器作為嵌入式開發平臺,是基于ARM11 核的信用卡大小的微處理器,通過運行定制的Linux操作系統,實現了系統的精簡化,在硬件配置方面,512 MbyteRAM,700 MHz 運行頻率,支持Open GL ES 2. 0,Open VG 硬件加速,1 080p H. 264 高清解碼,10 /100 以太網接口( RJ-45接口) 可以實現網絡連接,支持HDMI 和AV 輸出,同時樹莓派B +還具有40 Pin GPIO 口可以實現對外接設備的自動控制。
2 樹莓派外圍電路設計
樹莓派電路的外圍設計是為了能夠保證電路的正常運行和工作,主要分為微處理器樹莓派,電源模塊,網絡接口模塊,人機交互(鼠標、鍵盤、顯示器)以及視頻采集五個部分。樹莓派采用裝有Linux系統的樹莓派B+,電源模塊采用5V/1A的電源適配器工作,免去繁瑣的電源設計,網絡接口連接是為了方便遠程操作樹莓派,鍵盤和鼠標采用USB接口的普通鍵盤和鼠標。AV接口連接顯示屏進行輸出。如圖2所示。
3 軟件設計
采用python設計語言進行算法設計,程序主要分為三個模塊,實現對視頻采集輸入的QR二維碼的識別采樣、轉換、存儲、輸出,具體的原理圖如圖3所示。
(1)采用Zbar函數庫對QR碼進行采樣,首先建立一個Zbar工程,對Zbar工程進行配置文件,并選取攝像頭設備,具體的攝像頭文件可根據根目錄下的設備號進行選擇,(本文實驗中采用的是外接攝像頭)。配置好工程項目后進入等待檢測狀態,實時檢測攝像頭中是否出現QR二維碼,為了保證代碼的穩定性,在函數中加入一個異常處理機制。
(2)建立數據庫,并在數據庫中加入分類信息用來儲存輸出的二維碼信息和其他信息。本文中特加入了實時的時間模塊,用來實現所需要的模塊。
(3)主函數用來完成對Zbar函數的調用和對數據庫的寫入,以及調用實時時間模塊。主函數主要對zbar函數的數據進行處理分析,并作出解釋、轉換,并將二維碼信息寫入到數據庫中保存起來。
因為軟件設計中采用的zbar函數庫為國外公司開發的,因此在對中文的解碼存在一定的問題。本文設計中采用強制轉換功能,將格式轉換為UTF-8格式和gb18030格式,但仍然存在一定的亂碼問題。(為了保證代碼的穩定性,在測試中采用英文格式來解碼。)
4 測試結果
測試正確性的過程中采用草料二維碼生成器生成二維碼作為基礎,生成的二維碼信息為Times,視頻采集模塊采用免驅USB攝像頭。檢測后得到的結果如圖4、5所示。
5 結論
本文中所設計的二維碼打卡器已與上位機進行了聯調。聯調顯示,本文中所設計的系統能夠實現對視頻信息中的QR二維碼的提取,并將提取到的二維碼信息存儲入數據庫后再輸出。結果表明,本文中采用的轉換數據格式仍存在一定的問題。但是,本文中采用樹莓派微型處理器和免驅USB攝像頭,大大減少了成本費用,是一種便攜式的,易于操作,易于維護的微型QR碼信息獲取器。
參考文獻
[1]QR code.http://en.wikipedia.org/wiki/QR_code.
[2]高峰,陳雄,陳婉秋.基于《樹莓派B+ 微處理器的視頻檢測跟蹤系統》[J].電視技術,2015.
[3]李婉婉,胡文龍,李宏.基于So PC的 QR二維碼識別系統設計[J].微型機與應用,2014(10):80-82,85.
[4]馮藝東,汪國平等.信息可視化[J].工程圖學學報,2001.