欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

中文点选验证码之自动识别

来源:本站整理 作者:佚名 时间:2018-09-12 TAG: 我要投稿
获得结果后,可以使用cv.minMaxLoc()函数查找最大/最小值的位置。将其作为矩形的左上角,并将(w,h)作为矩形的宽度和高度,那个矩形就是模板区域。
我们进行使用模板匹配来识别这种验证码时,首先先将“模板”找出来,这里我们需要匹配的是“猎”、“户”、“室”这三个字。将这三个字所在的图片进行截取,然后使用matchTemplate()函数在mp中进行匹配。
首先截取第一个字“猎”。

截取之后,就可以在mp中进行匹配。

这里得到了最大和最小位置。我们使用最大位置,然后将最大值作为阈值。获取模板的尺寸,然后在 mp    中用矩形(红色区域)画出匹配的区域。如下所示。                                                                                                                                                                                                                               

同理,用黄色和蓝色矩形将“户”、“室”所在的区域画出来。

点选时发送所选区域中间的坐标即可,这里就不再给出实例了。这种方法虽然简单,但是对于字体不一的就不能很正确的标记出来。
修改生成图片的代码,将mp中的文字的字体设置为随机。修改的代码如下:
   switch($type) {
    case0: //mp文字随机大小
    $fontSize=rand (20,30) *0.75 ;
    break;
    case1 ://ap文字固定
    $fontSize=20 *0.75;
    break;
       }
ap生成的结果还是和之前一样, mp 的图片如下:                                                                                                                                

使用同样的代码来匹配。                                                                                                                                                                        

上一页  [1] [2] [3] [4]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载