何擁軍
摘 要: 為了滿足圖像精確處理需求,利用現場可編程門列陣動態配置靈活性,采用高性能Cysclone系統芯片作為核心處理器,并配合1394總線鏈路層構建圖像處理系統,實現圖像數據采集和處理。系統方設計分為圖像采集、存儲、處理和傳輸等模塊,先通過攝像頭采集QR碼圖像,進行濾波等預處理工作,然后經定位、提取信息、檢索糾錯等得到字符信心。該系統采用圖像處理技術,很好地解決了不同光照條件引起的識別不確定性,精確區分前景和背景,減少信息遺漏,設計硬件結構,提高系統速度和面積技能,優化系統硬件操作。在軟件設計中,采用軟核處理器,完整圖像信息的提取。系統設計與傳統二值化、濾波等檢測方法相比,處理時間大大縮短,同時處理圖像分辨率也得到提高。
關鍵詞: 圖像處理; QR碼; 數字圖像處理系統; 結構設計
中圖分類號: TN957.52?34 文獻標識碼: A 文章編號: 1004?373X(2016)22?0097?0
0 引 言
數字圖像處理系統是利用圖像采集信息,并實現處理和傳輸功能的裝置[1?2],在多個領域發揮重要作用。隨著圖像采集處理系統逐漸成熟,各個領域對圖像數據的可辨識性和適應性要求逐漸提高[3]。本文主要分析基于圖像精確處理的數字圖像處理系統設計與實現。
1 系統設計方案
1.1 系統設計總體方案
為了滿足圖像精確處理需求,本設計QR碼識別系統架構如圖1所示。本設計分為圖像采集、系統整體框架設計圖、圖像處理和視頻顯示模塊。為了滿足精確處理需求,圖像采集模塊采用高清CMOS航空攝像頭,視頻圖像采集模塊采用DE2?70開發板實現[4?5],嵌入可編程芯片,視頻顯示模塊使用液晶顯示器輸出視頻。
1.2 關鍵模塊設計
視頻圖像處理模塊是關鍵部分,承擔圖像的采集、處理以及識別,視頻圖像主要結構和控制信號如圖2所示。數據從圖像采集模塊的攝像頭接口進入,進行模數轉換,自動監測信號。攝像頭采用NTSC制式,將模擬信號解碼為分量視頻數據,將信號存儲,完整后進入FPGA芯片進行圖像處理。系統設計的數字圖像處理系統主要是圖像預處理、定位、數據采集的實現,然后是芯片的配置。
2 QR碼圖像識別系統算法
QR碼編碼步驟包括數據分析、編碼、糾錯、構造等,數據分析確定字符類型和模式,編碼模式包括字符編碼、漢字提取以及擴充解釋等。QR碼數據編碼按照指定模式,將信息轉換為二進制位流,將碼字轉換為序列。數字模式碼字生成步驟如圖3所示。舉例說明字母數字模式,如將AB?43轉換為碼字序列,按照字母數字模數得到字符,每兩個字符為一組,均轉換為11位二進制數,連成一個序列。GB2312所規定的的漢字字符[6]共6 768個,每個字符均由2個字節表示,將漢字字符轉換為13位二進制碼。
采用QR碼糾錯算法生成糾錯碼字,在數據塊后提取信息,減少數據丟失的情況。糾錯共分為4個等級,對應4個容量,一般能夠糾正拒讀錯誤和替代錯誤[7]。掩膜設計主要是滿足符號深色和淺色的調整,降低譯碼錯誤發生率,僅僅使用在編碼圖形中。根據各個掩膜圖參考生成條件,進行異或操作,對每個掩膜進行評價。QR碼符號由正方形模塊構成,編碼區域包括糾錯編碼和數據編碼。
QR碼識別給予CCD攝像頭采集的圖像,通過計算機去除圖像噪聲,數字圖像由有限個元素組成,二維數字灰度圖像均可以由函數表示。在QR碼圖像進行識別之前需要預處理,保證QR碼完整性。本組設計中,采用空間濾波中值濾波方法,降低噪聲[8],并進行Otsu算法二值化,完成QR碼預處理工作。
采用硬件算法實現QR圖像數據的采集,包括采樣、定位以及提取等工作。圖像預處理后,提取相關信息,有效定位,調整符號偏角,建立采樣點,得到提取像素信息的位置坐標。QR碼定位中,主要搜索位置探測圖像。QR碼圖像濾波給予鄰域處理,逐點移動掩膜。硬件實現非線性濾波器時,需要設計排序,求出較多邏輯資源,采用非線性濾波中值濾波器濾波。Matlab仿真采用傳統處理器方法,代碼如下:
>> t0=cputime;
>> K=medfilt2(J,[3,3]);
>> t1=cputime?t0
根據模塊長度網格化處理整個符號,一個模塊對應一個數據,減少計算量,后續工作中均按照圖像采集模塊化坐標。掩膜時需要注意功能區域,考慮到圖像探測、校正,因此不消除掩膜。數據編碼中,數據位流基本格式為模式指示符、字符計數指示符、數據位流、終止符,模式指示符共4位,包括數字、字符數字、漢字、字節,字符計數則是由版本而確定,數據流部分也是根據版本而定。
3 軟硬件設計與實現
系統硬件采用Altera公司EP2C70芯片,編輯單元68 416個,RAM容量15 200 b,4個PLL,622個用戶pin數量。軟件部分,使用DSP Builder處理數字信號。
在圖像預處理模塊中,硬件設計要求不僅需要滿足輸出功能,同時要能夠達到實時處理,且邏輯資源盡可能少,又能監測濾波狀態。設計采用中值濾波器,分為圖像掃描和功能邏輯模塊。掃描模塊實現數組的采集,邏輯模塊實現像素的計算。窗結構零數字電路設計中,需要滿足掃描和濾波器邏輯模塊,采用由左到右的掃描方式,窗結構包括9個寄存器,存儲像素值,掃描過程中,每一個區域考慮相鄰的像素提取。灰度直方圖用來描述灰度級個數,采用FPGA片內存儲資源實現,數據流為1~254數據集合,讀入像素值后,RAM值加1,模塊化代碼如下:
FIFO設計中,利用FPGA內部存儲資源,按照先進后出的原則讀取數據,當輸入時鐘clk上升時,信號為高,緩存器存儲數據。該模塊內設置兩個地址計數寄存器,每一次讀或者寫,寄存器數值加1。讀寫到最大值時,進入下一個值,不會超過存儲空間。濾波器功能邏輯模塊采用奇偶排序法進行邏輯設計,直方圖統計模塊采用灰度直方圖函數,采用FPGA片內存儲資源,數據范圍為1~254數據集合,在像素值讀入后,RAM地址數值加1。QR碼定位模塊是圖像預處理后掃描,在規定誤差內表示為探測圖像咸蛋,提取模塊長度和其他信息。定位模塊包括累加模塊、轉換和提取模塊,狀態轉換模塊通過reset信號實現啟動,時鐘周期由高到低,進入初始模塊,若累加像素動作完整,狀態進入到模塊長度計算。
4 系統分析
本系統中,由于能夠直接使用濾波,二值化等檢測,處理時間大大縮短,而且圖像分辨率達到640×480,處理速度上具有很大優勢。由Quartus Ⅱ編譯報告分析資源使用情況,該設計系統使用11 347個LE,寄存器為7 169個,占到20%,資源使用率適中,有利于后端布局布線,實現物盡其用,節省資源。通過Modelsim仿真產生文件,分析FPGA片內功耗,SDRAM緩存器控制模塊耗能較大。
QR碼視頻圖像經過中值濾波處理之后,噪聲可以經過過濾,大大減少,對后期定位有利,而且能夠減少漏定,提高識別率。二值化方面,能夠有效區分前景和背景最大的灰度閾值。QR碼經過中值濾波、采樣等檢測后,信息寄存到SSRAM中,然后數據傳輸到片內存儲器中,確定圖形坐標,符號通過NIOS打印在Console上。
5 結 語
綜上所述,本文設計基于圖像精確處理的數字圖像處理系統,系統設計完整,完成各個模塊的設計實現工作,提出給予結果反饋的二值化算法,優化和改進中值濾波硬件結構,并設計QR碼定位模塊,實現信息的提取,圖像處理速度大大提高。
參考文獻
[1] 王迪.基于數字圖像處理的圖像分割系統的設計及實現[J].企業導報,2015(12):58.
[2] 焦再強.基于Zynq?7000的購入式數字圖像處理系統設計與實現[D].太原:太原理工大學,2015.
[3] 張鑫,吳娛,平子良,等.基于Matlab GUI的數字圖像處理實驗平臺設計[J].現代電子技術,2014,37(18):6?8.
[4] 希仁娜·亞森,李湘.基于Internet的遠程數字圖像處理[J].現代電子技術,2014,37(14):114?116.
[5] 張千宇,高青偉,徐海峰.數字圖像處理的“炮身軸線偏移”檢測系統設計與實現[J].火力與指揮控制,2014(12):149?152.
[6] 孫凱旻.基于FPGA數字圖像處理QR碼識別系統的設計與實現[D].上海:上海師范大學,2013.
[7] 王楨.數字圖像處理系統設計與實現[J].計算機光盤軟件與應用,2014(21):296.
[8] 劉婧.基于Matlab的簡單圖像處理系統的實現[J].電子技術與軟件工程,2014(9):112.
[9] 高體紅,周凱汀,鄭力新.藥片視覺系統中圖像處理單元設計與驗證[J].計算機仿真,2015,32(1):420?424.