銀行卡卡號識別:C#版本和iOS版本
(一)圖像采集
首先我們要取得待識別的圖像。這項工作可以通過數碼相機、DV機、工業攝像機、電腦數字攝像頭、手機攝像頭等設備采集,並從中取得我們要分析的圖像信息。
(二)版面分析
取得圖像信息後,要對圖像整體版面進行分析。這一步工作如果使用通用算法進行分析,則效率很低。通常情況下都需要針對不同的識別對象進行專門的分析及設定,才能取得良好的分析效果。
摳出數字????
傾斜圖像校正??
http://www.doc88.com/p-34555054276.html
(三)圖像灰度化
從采集設備裏取得的圖像通常都是彩色圖像,為了使所分析的圖像數據簡化,並且不丟失關鍵信息,需要對圖像進行灰度化處理。
通常,計算機圖像是由一個一個的像素點構成(矢量圖除外),每個像素點用RGB模型來標記其顏色。在RGB模型中,如果R=G=B時,則該顏色就表示是一種灰度顏色,其中R=G=B的值叫灰度值,因此,灰度圖像每個像素只需一個字節存放灰度值(又稱強度值、亮度值),灰度範圍為0-255。
一般有以下四種方法對彩色圖像進行灰度化:
1、分量法。將彩色圖像中的三分量的亮度作為三個灰度圖像的灰度值,可根據應用需要選取一種灰度圖像。
計算公式為:f1(i,j)=R(i,j) f2(i,j)=G(i,j)f3(i,j)=B(i,j) 其中fk(i,j)(k=1,2,3)為轉換後的灰度圖像在(i,j
2、最大值法。將彩色圖像中的三分量亮度的最大值作為灰度圖的灰度值。
計算公式為:f(i,j)=max(R(i,j),G(i,j),B(i,j))
3、平均值法。將彩色圖像中的三分量亮度求平均得到一個灰度值。
計算公式為:f(i,j)=(R(i,j)+G(i,j)+B(i,j)) /3
4、加權平均法:根據重要性及其它指標,將三個分量以不同的權值進行加權平均。由於人眼對綠色的敏感最高,對藍色敏感最低,因此,按下式對RGB三分量進行加權平均能得到較合理的灰度圖像:f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))。
在進行識別時,通常采取第
(四)圖像二值化
灰度化是壓縮圖像數據的第一步,接下來要對灰度圖像進行二值化處理。具體做法就是,首先對256個亮度等級的灰度圖像進行計算,取得一個適當的閾值;其次對灰度化圖像進行處理,所有灰度大於或等於閾值的像素被判定為屬於特定物體,其灰度值用255表示,否則這些像素點被排除在物體區域以外,灰度值為0,代表背景或者例外的物體區域。
完成這一步驟之後,灰度化圖像被進一步壓縮為二值化圖像,每一像素點非黑即白,沒有其他任何顏色。只要閾值選取合適,二值化圖像仍然可以反映圖像整體和局部特征,有利於圖像的進一步處理,使圖像變得簡單,而且數據量減小,能凸顯出感興趣的目標的輪廓。
上述網址:http://dongtingyueh.blog.163.com/blog/static/4619453201292984842752/
上述網址:http://blog.chinaunix.net/uid-20074343-id-1736180.html
代碼參考網站:http://blog.csdn.net/baidu_31981559/article/details/51462426
http://www.bubuko.com/infodetail-318130.html
(五)圖塊切割
經過了前面的灰度化及二值化後,彩色圖像被壓縮為黑白二色圖像。這時就要進行一個關鍵操作,就是圖塊切割。
至此,所有字符的上下左右四個邊界全部得到,那麽這四條邊界線圍起來的圖像區域,就是我們要切割的小圖塊。
代碼參考:http://bbs.csdn.net/topics/392009365?list=lz
EmguCV入門指南-中文翻譯版:
http://wenku.baidu.com/view/d4217a62af1ffc4ffe47ac27.html
(六)字符識別
將每個小圖塊依次送入這一環節進行字符識別,就可以得到最終結果。
這一環節的字符識別運算包含兩個步驟。
一是歸一化。歸一化的目的是將所有小圖塊轉換為相同大小的圖像。前面說了,字符寬度只是近似相同,並不一定完全相同。可以比較明顯的看出來,數字“1”比數字“0”或“8”要窄的多,所以為了能夠使用模板進行統一匹配,需要將每個字符圖塊轉換為相同大小。
二是模板匹配。既然是用模板匹配技術來實現圖像和字符的匹配,那麽首先得有模板。每個字符就是一個模板。
通過提取的特征值,識別的算法有很多,包括分類器算法,模板匹配算法,基於概率統計的Bayes分類器算法,聚類分析算法等。
Emgucv參考文獻:
http://wenku.baidu.com/link?url=57aywD0Q6WTnl7XKbIHuEwWENnSuPS32QO8X0a0gHpOOzdnNt_K0mK2cucVaEHVSQ0XJ69MpAe0I6UXwozEQaEMAAQsWXHP4w-Ly_xjW4sm
tesseract-ocr 實現圖片識別功能:
http://www.52itstyle.com/thread-4803-1-1.html
代碼部分:
C#版本:鏈接:http://pan.baidu.com/s/1dE1CfXB 密碼:dlqf
iOS版本:鏈接:http://pan.baidu.com/s/1slNiAOt 密碼:dvjh
銀行卡卡號識別:C#版本和iOS版本