| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 网络赚钱 | 网站地图 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
|
var p: pbytearray; gray, x, y: integer; bmp: tbitmap; begin bmp := tbitmap.create; bmp.assign(image1.picture.bitmap); //设置为24位真彩色 bmp.pixelformat := pf24bit; randomize; for y := 0 to bmp.height - 1 do begin p := bmp.scanline[y]; for x := 0 to bmp.width - 1 do begin //一个象素点三个字节 gray := round(p[x * 3 + 2] * 0.3 + p[x * 3 + 1] * 0.59 + p[x * 3] * 0.11); if gray > 128 then //全局阀值128 begin p[x * 3] := 255; p[x * 3 + 1] := 255; p[x * 3 + 2] := 255; end else begin p[x * 3] := 0; p[x * 3 + 1] := 0; p[x * 3 + 2] := 0; end; end; end; image2.picture.bitmap.assign(bmp); bmp.free; 这样我们就得到了一幅二值化的bmp。 得到这副图后,我们需要对图像进行分割,就是把它变成4个小位图,分别装入4个数字。分割算法很简单,因为验证码的数字位置左右跳动幅度不大,源代码就不再给出。 然后我们要做的就是把这副图进行几个方向的hough变换检测,由控制θ的角度来实现,比如说这个 这是数字3 我们可以看到它有什么特征没有?它横着由三横组成,竖着由2竖组成!我们就规定 如果横着有3条直线,竖着有两条直线,那么这个数就是3了!所以我们只要用hough算子检测 0 & 90 度就能确定横竖有多少直线了,再看这个 这是数字1 我们就规定竖有一条最长的直线,然而横的直线如果不超过竖直线长的1/2那么就是1了。其他数以此类推! 当然实际操作当然没有这么简单,因为还是有部分噪音点没有祛除干净,但是这的确说明了我们的思想!所以每个数有需要准备几套特征编码,如果出现多个数,就看使用编码数最多的数就是我们要识别的数了。最后就是统计了,统计函数我们现在给出 function repeatcount(s:string;d:string):integer; var i:integer; begin i:=0; while pos(d,s)>0 do begin i:=i+1; delete(s,pos(d,s),length(d)); end; result:=i; end; 利用这个函数,我们就可以确定出现最多的p的次数以及使用编码最多的次数了!笔者随文附送了一个检测0度和90度的检测器,读者可以多试几次就明白了!(如图) 当然只有这两度检测是远远不够的,实际应用中,可以使用0~90度中任意一度检测,比如说7,它的竖由于不是90度的(直的)所以要用其他的度数来检测! 这里也总结一下,任意数字,只要我们能得到相应的特征,那么我们就可以对它进行识别! 总结一下创新的: 1、 获得图片,进行二值化的变换、祛除噪音。 2、 分割图像,保存成相应的bmp文件。 3、 对其进行几个方向的hough变换检测,根据相应的验证码来定! (你也可以做更多的检测,比如有英文字母就需用到其他算法了!) 4、 对特征进行统计,得出识别结果。 接下来要做的就是做个post程序了,这个太简单了,代码你就自己写吧!不过也要做到如下细节:做成多线程程序进行发贴,不然程序会失去响应的。最好是可以导入大量的代理ip的,然后就是发贴的内容最后加上几个随机字符,这样可以防止重复贴的过滤!最重要的,只是做测试,发贴量不要太多、不要乱发广告贴! 所以说再安全的验证码也有软肋,我们只要发现就可以找出其中的漏洞!当然不只是针对百度,其他论坛的特征码同样能识别!当然网络安全技术也是双刃剑,我这里再次强调!这种方法的确能识别很多重要的部门的一些关键验证码,但是读者如果使用其方法进行破坏,那已经违反了中华人民共和国的相关法律,是要付刑事责任的!并且与笔者无关! 其实上述方法已经不是只是对验证码进行识别了,完全可以用到现实生活中去,比如说手写体识别、车牌识别等等,但是现实生活中我们还要进行更多的加工,比如说圆形检测,多边形检测等等。所以说从网络安全技术中,也有很多东西能造福社会,还等待我们继续创造! 本新闻共2页,当前在第2页 1 2 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:百度的38个我预示互联网2.0的崛起 下一篇:没有了 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 相关文章 | ||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||