對影象進行灰度化、邊緣檢測、旋轉變換(Radon變換)等操作
灰度處理:將彩色影象轉化為灰度級相等的影象,灰度變換是為了簡化資訊,在用灰度影象進行後續分析能夠減少大量計算量。
邊緣檢測:邊緣檢測是為了找到影象中畫素變化明顯的點的集合,定點陣影象特徵區域,影象特徵區域定位指的是在初始影象中確定出紙幣影象所在的位置。
旋轉變換(傾斜校正):由於紙幣擺放、拍攝角度問題會使紙幣影象一定程度的傾斜或幾何變形,需要進行傾斜校正。採用雷登變換。
腐蝕:主要是為了縮減影象中的白色區域,用imerode函數實現影象腐蝕。
閉運算:能消除小的空洞,填充凹角並填補輪廓線中的斷裂,使輪廓線更光滑。用imclose函數實現閉運算。
二值化:二值影象(黑白影象)指的是影象中每個畫素點只有黑、白兩個值或者說灰度等級只有兩種的影象,二值圖的灰度範圍是0或者255,二維矩陣由0、1組成,「0」表示黑色(灰度值等於0),「1」 表示白色(灰度值等於255),資料型別為1位二進位制位。二值影象具有佔用空間小、資訊掩藏性強的特點。
紙幣定位—邊緣切割:影象的定位分割是為了獲得完整、單獨的目標影象,它是影象處理中非常關鍵的一步,影象分割主要有基於區域和基於邊界分割兩種方法,本系統採用區域定位分割法。
在紙幣識別系統中其目的是基於紙幣區域和背景區域的色調的不同,定位紙幣影象的四條邊緣線,確定紙幣在整幅影象中的具體位置,通過剪下把紙幣和背景分離。定位的準確性將直接影響到後面的特徵提取和識別。
中央數位提取
中央數位提取流程
模板匹配識別
該方法是基於中央位置(即數位部分)來進行區分。通過上一步驟把紙幣單獨剪下出來後,根據不同幣值人民幣長寬比例不同,使用 imcrop 函數把中央帶有特徵數位的區域剪下出來。接下來,呼叫rgb2gray函數把提取的部分轉換成灰度影象,使用 medfilt2 函數進行中值濾波除去噪聲並進行明暗反轉。se=strel('rectangle',[a,b]),使用strel函數建立一個a*b的矩形結構元素,呼叫imdilate函數和imerode函數對結構元素se進行閉運算(先膨脹後腐蝕)。
長度對比識別
對降噪後的圖片進行二值化處理,得到黑白影象並進行顯示。找出數位區域左右邊界的第一個黑點,計算出兩個黑點之間的水平距離,即為中央數位的寬度,計算出數位寬度與整張紙幣長度的比值。[8]
參考表1所示第五版紙幣基本特徵,根據數位寬度:中央數位寬度最大的圖片即為100元,依次類推寬度最小的為1元;根據數位長度和整張紙幣長度的幣值:幣值最大的為100元,依次類推比值最小的為1元。
幣值種類 | 100元 | 50元 | 20元 | 10元 | 5元 | 1元 |
---|---|---|---|---|---|---|
主色調 | 紅 | 綠 | 棕 | 藍綠 | 紫 | 橄欖綠 |
規格 | 長156mm 寬76mm | 長150mm 寬70mm | 長145mm 寬70mm | 長140mm 寬70mm | 長135mm 寬63mm | 長135mm 寬62mm |
中央數位長度 | 38mm | 25mm | 24mm | 22mm | 12mm | 7mm |
中央數位長度/紙幣長度 | 0.243 | 0.167 | 0.166 | 0.157 | 0.089 | 0.052 |
R、G、B對比識別
RGB色彩就是物理學裡光的三原色,人類視覺可以感知的所有顏色都可以通過R、G、B(不同亮度度)互相混合得到。同樣,任何一種顏色都可以被分解成R、G、B(不同亮度)三種顏色。[9]
提取出數位區域RGB分量,呼叫mean函數,使用公式返回每個R、G、B分量的平均值,結合不同紙幣特徵區域R、G、B的不同,通過分量之間作差,判斷紙幣面紙大小
GUI(圖形化使用者介面)是有各種圖形物件(如視窗、按鈕、文字和選單)組成顯示的計算機操作使用者介面。使用者通過運算或控制程式碼啟用圖形物件,引起一系列程式程式碼的執行,結果通過使用者介面進行反饋。MATLAB GUI是MATLAB中的一個極具實用性、互動性、美觀性的功能,將流程化的MATLAB程式包裝進一個簡單易懂的圖形中去,把繁瑣的過程簡潔化,從而方便了使用者的使用過程,讓程式的執行變得更加直觀。同時,GUI中資訊、資料的傳輸效率非常高,結果執行與反饋便捷、準確,開發人員不需要在介面程式碼的設計上花費太多精力,為使用MATLAB的程式設計者提供了一個簡單的開發環境,為使用者帶來了良好的體驗,提高了開發者的工作效率。
本系統設計的平臺如下圖所示,主介面上顯示了待識別影象、旋轉校正後的影象、擷取面額影象、處理後影象,設定「讀取鈔票」功能按鈕,點選按鈕讀入待識別紙幣影象即可實現對應的功能。
程式設計環境:Matlab 2021b(適用2016以上任何版本)
下載連結:https://mbd.pub/o/bread/mbd-Y5yYmJtx 或https://www.jdmm.cc/file/2708227
演示視訊:https://www.bilibili.com/video/BV1RW4y1E7dL/