首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

「持续玩」字符识别练习 分拆字符(验证码、车牌号、身份证号等)

2012-08-11 
「继续玩」字符识别练习 分拆字符(验证码、车牌号、身份证号等)? 野比 2012注意:这不是完成品。参考这篇论文,写

「继续玩」字符识别练习 分拆字符(验证码、车牌号、身份证号等)
© 野比 2012

注意:这不是完成品。

参考这篇论文,写得很好,我这个基本属于复刻版。

http://www.digitaltrends.com/web/stanford-researchers-crack-captcha-codes/

光学图像识别(OCR)是非常有用的技术。在验证码识别、车牌号识别、文字识别方面,基于字符的识别技术算是比较容易上手的了(相比图文识别)。

闲来看到有朋友研究验证码识别,一时手痒,自己动手来做做验证码识别。当然,肯定只是简单的验证码。

名为验证码,实际上并不限于,还可以识别车牌号、身份证号、门牌号等各种乱七八糟的内容。

识别的流程很明确:

1、预处理图像

2、做y轴的投影

3、分析直方图分区

4、根据分区拆分图像为多个字符(很关键,拆得越好,后续识别率越高)

5、丢弃空白或无效字符

6、自动旋转字符(如果有倾斜),识别字符

如果样本中个图像有粘连,则可能造成分区不准确。这种情况下,需要进行旋转,但是怎样自动旋转,是个难题。

目前已可拆分出字符,下一步准备研究如何识别。(如果单个字符比较规范,可以利用现成的OCR控件)

这里有一些例子。

普通的验证码(毫无难度)


带干扰的验证码



较高强度干扰(目前使用的分区算法不能解决,需要更好的算法,比如动态阈值)



CSDN的验证码(毫无压力)



身份证号码



车牌号



继续研究如何优化分区算法,如何识别单个文字(可以考虑多重识别+样本训练)。

脑容量不够啊!求指导!

[解决办法]
野比好牛x
[解决办法]
不懂,也没有例子,copy不了了
[解决办法]
虽然不懂 但感觉很厉害
[解决办法]
厉害,图像识别
[解决办法]
看不懂
[解决办法]
图图图图图
支持下,哈哈
[解决办法]
很好,野比来了之后
C#论坛 终于有点货了
[解决办法]
有点意思
[解决办法]
嗯,看着貌似很牛=.=
[解决办法]
没有看懂,顶了在说
[解决办法]
先回复一下,再看
[解决办法]
跪求源码。。。
[解决办法]
野比发了24个帖子,被推荐了22个帖子。
[解决办法]
不知道回复可不可以增加积分,呵呵
[解决办法]
越来越佩服野比了!不知道这是不是图论方面的知识?
[解决办法]
我的积分好少啊~~~~
[解决办法]
话说在这能挣积分不啊~
[解决办法]
看不太明白
[解决办法]
貌似好强大 顶个
[解决办法]
感谢楼主分享,继续学习!
[解决办法]
很好的运用。但可惜只有思路,如果将代码拿出来分享更好了
[解决办法]
目前可用的OCR识别组件有很多,如MS 提供的 OFFICE组件 对英文和数字识别率都不错
如果有中文或其他语言,识别率就相对低的多了
[解决办法]
虽然 看不懂 感觉 很有意思
[解决办法]

[解决办法]
不错的,很值得学习!
[解决办法]
虽然不懂 但是觉得很厉害的样子 谢谢楼主分享


[解决办法]
野比果然很牛!!!
[解决办法]
野比哥哥 英文不行 你能来篇中文版的博客吗
[解决办法]
原来这样子啊。。。
[解决办法]
虽然不太懂,不过很佩服。
[解决办法]
呵呵,野比是做啥的
[解决办法]
看不明白看不明白
[解决办法]
感谢分享。
[解决办法]

[解决办法]
共享一下源码嘛,不要太小气哟~~
[解决办法]
发源码出来呀,不要那么小气嘛~~
[解决办法]


求识别
[解决办法]
mark。E文的论文。求源码
[解决办法]
这和人脸识别有区别吗?
[解决办法]
野比好厉害
[解决办法]
关注车牌识别
[解决办法]
文字识别好像需要识别库的吧
[解决办法]
确实很厉害
[解决办法]
肯定很强大啊!呵呵
[解决办法]
肯定很强大啊!呵呵
[解决办法]
佩服,野比在图像识别这块很在行呀
[解决办法]
一看就知道是牛人做的
[解决办法]
我想问的是 识别后有啥用?识别出啦干啥的。。。。
[解决办法]

探讨
增加了降噪之前



之后

[解决办法]
楼主识别的话用神经网络或SVN 吧,就我看的论文这两中方法是效果最好的。据说SVN更好
[解决办法]
探讨

引用:
楼主识别的话用神经网络或SVN 吧,就我看的论文这两中方法是效果最好的。据说SVN更好


我知道神经网络,svn是啥?求指教

[解决办法]
不好意思,我说错了,是SVM ,支持向量机,实在不好意思
[解决办法]
不懂,也没有例子,copy不了了,不过,要经常用到,还是支持下
[解决办法]
下载点击

给大家提供一份中文论文,无私提供,0分下载,大家速度哦,亲!
[解决办法]
下载点击

给大家提供一份中文论文,无私提供,0分下载,大家速度哦,亲!
[解决办法]
这些还只是识别的第一步,基于阈值的图像分割,假设字符间有空隙的字符拆分。

阈值算法用的哪个,做改进没?

字符拆分试过边缘检测没?对于投影直方图不太好处理的斜体字符,比较合适。
[解决办法]
曾经做过一段时间的打码兼职~!~!
------解决方案--------------------


看不懂。。
[解决办法]

[解决办法]
感谢分享。
[解决办法]
感謝分享。
[解决办法]
楼主 很强大!
值得学习,代码是多写的!
[解决办法]
厉害,mark一下
[解决办法]
lz如果把识别这块做的像界面的复杂程度,就厉害了。
我不会做界面,甚至在WINDOW上显示个位图都得查资料。

OCR核心一般是不带界面的,界面和OCR核心完全是两码事。

lz说的“分区算法”是不是把字符都拆开?如果是那就叫做“字符切分”或“字符分割”。

关于识别,仅仅是简单的阿拉伯数字+字母,可以采用模板匹配方法。效果不会非常好,如果想做好,可以采用更复杂的特征选择、特征提取方法和更复杂分类器。

我觉得还有一个关键点是图像预处理。

[解决办法]

探讨
引用:
lz如果把识别这块做的像界面的复杂程度,就厉害了。
我不会做界面,甚至在WINDOW上显示个位图都得查资料。

OCR核心一般是不带界面的,界面和OCR核心完全是两码事。

lz说的“分区算法”是不是把字符都拆开?如果是那就叫做“字符切分”或“字符分割”。

关于识别,仅仅是简单的阿拉伯数字+字母,可以采用模板匹配方法。效果不会非常好,如果想做好,可以采用……

[解决办法]
好像很高深看不懂????
[解决办法]
感谢楼主@@@
[解决办法]
求拜师。。行不行野比
[解决办法]
一、图像先进行灰度处理(也可以不进行)
二、图像二值化
三、中值滤波
四、直方图
五、根据直方图零界点开始对图像分割
六、求出每个字符特征值
七、根据特征库进行字符识别
是不是这样LZ。
只是没做二、三、四步效率不高啊。学到了
[解决办法]
一、图像先进行灰度处理(也可以不进行)
--------------------
必须进行灰度处理,否则没法二值化
[解决办法]
探讨
一、图像先进行灰度处理(也可以不进行)
--------------------
必须进行灰度处理,否则没法二值化

[解决办法]
这个识别的原理是什么啊!不懂
[解决办法]

我需得图中的字。始终不行

热点排行