如何处理这样的验证码:图片内容是用 5 个汉字描述的计算题(如『伍加叁等于』)。每个位置的内容是固定的: 13 数字、2 计算符号、45 一直是『等于』,且『等于』在所有图片中的位置不变。

2015-01-07 21:47:39 +08:00
 Xbluer

先展示下:



其它特征特征如下:
1.所有的汉字都是方方正正的,大小一致,间距一致,并在同一水平线上。
2.在图像软件里快速切换图片会发现『等于』完全重合。

我觉得可以有方法来解决这个问题。
目前的思路就是,生成所有的组合(10×4×10)然后和验证码依次对比,但是没有接触图像处理这方面的知识,不太清楚具体如何处理。

请给的建议,谢谢!

PS:今天验证码敲得手疼。

5477 次点击
所在节点    问与答
14 条回复
BGLL
2015-01-07 22:03:42 +08:00
这么简单的验证码...字体、位置都不带变的,二值化,去噪点就完了
halfcrazy
2015-01-07 22:22:18 +08:00
搭车关注一下,中文验证码如何识别。相比字母数字,中文汉字的可能性太多了。
msg7086
2015-01-07 22:24:54 +08:00
Captcha的目的就在于防止批量自动处理。
aaaa007cn
2015-01-07 22:41:31 +08:00
但是顶楼示例就是个典型的对机器友好,对人不友好的反面例子……
BGLL
2015-01-07 23:55:32 +08:00
@halfcrazy 楼主这个验证码就14个字比一般字母混合数字的还简单....
ooxxcc
2015-01-08 00:01:07 +08:00
这个验证码简直太机器友好了……

颜色聚类(k均值?)然后按照点数量可以知道那个是字体,去噪,分割字符,对前三个字符ocr

因为字符固定(第一个和第三个有10种,第二个有4种),都好识别,提取个特征最近邻识别就好

剩下的就简单了
ooxxcc
2015-01-08 00:02:33 +08:00
卧槽位置都固定的直接切出来,提个特征,最近邻就行了,分离前景背景去噪都省了
9hills
2015-01-08 00:03:52 +08:00
我又想起以前在v2ex上看到的一个滑块式验证码了,看起来很高大上,但其实是Post的时候加了个参数,对机器友好的厉害。。
BGLL
2015-01-08 00:07:31 +08:00
@ooxxcc 就14个字还聚什么类啊,位置、字体都一样,都是不用任何图像算法,直接无脑取一个个像素点与14个标准字比,二值化都不带用的。
omi4399
2015-01-08 00:07:36 +08:00
算上零总共才13*13*2 338种可能性。。。。。
omi4399
2015-01-08 00:09:24 +08:00
@omi4399 算错了,如果也有乘除的话就再乘4
omi4399
2015-01-08 00:10:04 +08:00
@9hills 记得是阿三哥的一个网站来着
halfcrazy
2015-01-08 03:22:34 +08:00
@BGLL 怪我没说清楚,我这里指的中文是指普遍意义上的。在楼主的case中,中文的独立字体确实有限。
loveminds
2015-01-08 04:26:16 +08:00
@9hills http://www.36kr.com/p/211940.html
你说的是这个么,我印象中滑块是滑动到一定位置才有效

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/160127

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX