利用opencv提供的图片处理能力,进行切割、降噪、门限等操作,抓取特性,再送入opencv自带的和线性分类器,最终实现数字验证码结果的机器识别
最开始觉得图片数字验证码挺简单的,先采用opencv进行预处理,包括图片分割、平滑、门限等聚焦和降噪处理,寄希望通过模板匹配,就可以解决问题。
后来发现,问题没有那么简单,即使使用多个数字或操作符的模板图片,做集成裁决,以及扩大输入图片的裁剪范围,避免模板图片卷积范围过小,识别率也不能达到可以接收的程度。
在一篇博文的指引下,为何不尝试下,opencv自带的机器学习模块呢?
通过,初步试验操作符的识别,发现通过训练后,识别率竟然出奇的高!似乎可以进行深入探索。
最终在训练完所有左侧操作数、中间操作符、右侧操作数后,对图片进行识别,虽然在模板匹配的阶段,对于数字图形验证码中3和5,对于人工都很难区别,但最终的准确率,也是令人印象深刻!
发现现在以大数据为基础的人工智能,与通过模板图片的严格比对,存在思路和出发点上的相当大差异,模板图片再多,也没有达到大数据的程度,而且适应变化能力弱…
现代人工智能通过学习大数据中,总结出来的规律,或超平面种类划分,可将随机样本的随机性限定在某个范围和集合中。
如果新出现的样本,也在规律中的话,那么就自会落入其中,可以实现自动识别。
即使初步战胜了数字验证码,继续挑战登录页面的风景图片加印汉字,用户通过点击有顺序的汉字完成登录验证,又进入了一个新的识别阶段。
初步探索,难度比前者又大了不少,大伙有好的方法可以交流:)
注意,应避免调用其它平台的远程API
OpenCV-Python Tutorials
到此这篇cnn验证(cnn验证码识别)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/30674.html