考证码辨认与自动注水[VC/C++编程]
本文“考证码辨认与自动注水[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
思绪是,首先找到含有考证码的图片,把后台、杂色、条纹等干扰因素去掉,并把图片转化为黑白象素,以便于处理.然后解析图片上每个文字的位置,切确的把整个图片分割成包含每个文字的小图片.我关注的这个投票网站上的考证码是有0到9这十个数字构成了,我就用GIMP——是的,GIMP是linux下面不可多得的图象处理软件——翻开考证码图片,把十个数字一一截取下来,并且辨别命名为0.jpg到9.jpg.截取的时刻一定要注意,每个文字最好留一点边框,并且在截取后的小图片上要居中,这样更利于解除干扰,提高辨认率.为了提高精确率,我把用GIMP把考证码放大到1600倍今后对每个象素举行处理.等要辨认图片上考证码的时刻,利用相同的位置截取图片上的文字,然后和方才保存的十个小图片一一比较,与之差别最小的那个图片的序号就是该位置上的文字了.ImageMagick在号令行下面运行,支持MAE,MSE,PSE,PSNR,RMSE等多种对比方法.按照图片中干扰的情形,挑选一种最符合的方法,大概用多种方法渐渐处理今后举行对比,考证码便可以轻松辨认了.
至于辨认考证码后举行自动注水就很简单了.linux下面有一个更强盛的工具curl,它可以通过HTTP,FTP,HTTPS等多种方法拜候远程服务器,自动上传或下载数据.首先用curl查看其HTTP头信息
1 * About to connect() to xxxx.com port 80
2 * Trying xxx.xxx.xxx.xxx... * connected
3 * Connected to xxxx.com (xxx.xxx.xxx.xxx) port 80
4 > GET / HTTP/1.1
5 User-Agent: curl/7.13.1 (debian-linux-gnu) libcurl/7.13.1 OpenSSL/0.9.7e zlib/1.2.2.2 libidn/0.5.13
6 Host: xxxx.com
7 Pragma: no-cache
8 Accept: */*
9
10 < HTTP/1.1 302 Moved Temporarily
11 < Via: 1.1 PROXY
12 < Connection: Keep-Alive
13 < Proxy-Connection: Keep-Alive
14 < Transfer-Encoding: chunked
15 < Date: Tue, 04 Jul 2006 05:55:16 GMT
16 < Location: http://xxxx.com/queryVote.do?type=netvotes&Group=1
17 < Content-Type: text/html;charset=gb2312
18 < Server: WebLogic Server 8.1 SP2 Fri Dec 5 15:01:51 PST 2003 316284
19 < Set-Cookie: JSESSIONID=EqCEDyCC2JGex2sLoT231l6NP38OStZaFf9zLSHUxb2MxrqLBE1i!1559900188; path=/
20
21 <html>
以上是“考证码辨认与自动注水[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |