1. 程式人生 > >銀行卡卡號識別:C#版本和iOS版本

銀行卡卡號識別:C#版本和iOS版本

及其 emgucv ria topic ext 網址 整體 link 比較

(一)圖像采集

首先我們要取得待識別的圖像。這項工作可以通過數碼相機、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))

在進行識別時,通常采取第

4種方法加權平均法對彩色圖像進行灰度化。

(四)圖像二值化

灰度化是壓縮圖像數據的第一步,接下來要對灰度圖像進行二值化處理。具體做法就是,首先對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版本