字符識別練習(驗證碼、車牌號、身份證號等)

http://blog.csdn.net/conmajia/article/details/7649551

光學圖像識別(OCR)是非常有用的技術。在驗證碼識別、車牌號識別、文字識別方面,基於字符的識別技術算是比較容易上手的了(相比圖文識別)。

閒來看到有朋友研究驗證碼識別,一時手癢,野比自己動手來做做驗證碼識別。當然,肯定只是簡單的驗證碼。

名為驗證碼,實際上並不限於,還可以識別車牌號、身份證號、門牌號等各種亂七八糟的內容。

識別的流程很明確:

1、預處理圖像

2、做y軸的投影

3、分析直方圖分區

4、根據分區拆分圖像為多個字符(很關鍵,拆得越好,後續識別率越高)

5、丟棄空白或無效字符

6、自動旋轉字符(如果有傾斜),識別字符

如果樣本中個圖像有粘連,則可能造成分區不准確。這種情況下,需要進行旋轉,但是怎樣自動旋轉,是個難題。

目前已可拆分出字符,下一步准備研究如何識別。(如果單個字符比較規范,可以利用現成的OCR控件)

這裡有一些例子。

普通的驗證碼(毫無難度)


帶干擾的驗證碼


較高強度干擾(目前使用的分區算法不能解決,需要更好的算法,比如動態閾值)


CSDN的驗證碼(毫無壓力)


身份證號碼


車牌號



補充個QQ驗證碼,用單一閾值方法,識別很困難,需要結合字符寬度進行判斷

這是單一閾值分區的結果(沒有限制寬度),可以看到效果很差。



繼續研究如何優化分區算法,如何識別單個文字(可以考慮多重識別+樣本訓練)。

© 野比 2012

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值