通用认证码识别(Captchio)是对Captcha(认证码)识别的管理程序,通过对测试认证码图片的训练,你可以接近100%地识别随机的认证码。其核心是Captchio识别库,通用的免费的认证码识别引擎。
为什么要使用通用认证码识别(Captchio)?一些网站的登录/应用要求用户输入认证码,而一些用户的应用需要自动完成这些登录/应用这些网站,这个时候,你就需要通用认证码识别(Captchio)来完成这个工作。通用认证码识别(Captchio)不能单独使用,必须被具体的HTTP应用软件调用,请参看通用网络请求(Webio):www.smartpim.com/zh/webio/
特色:
1、自动识别各种认证码
a).自动训练;
b).智能处理各种背景、边框、干扰等;
c).识别率可达100%;
d).丰富的接口;
e).统一、强大的的管理器;
f).支持多种图片格式:bmp、jpg、gif、png等;
2、完全免费:我们继承免费的精神,为用户提供优良而且免费的服务!
3、完全绿色:绝不捆绑任何软件/插件,不用安装!
概念:
1、训练
a).测试图片:Captchio需要先通过对同类认证码的训练,才能最终自动识别以后生成的认证码;
b).原值:认证码图片里面的真实字符串,用以正确地训练Captchio;
2、识别:
a).左偏:第一个字符距离图片左边的空白间距;
b).字数:认证码里面字符的数目;
c).字宽:认证码里面字符的平均宽度;
d).色值:图片黑白化的分界值,高于这个值是白色,低于这个值是黑色,因为Capthio会把彩色图片自动转化为黑白图片,以方便对认证码的识别,如果测试图片打开的时候显示不正确或者不理想,你应该反复尝试不同的色值;
e).干扰:很多认证码都会加入干扰点和线,这里的干扰值就是干扰点的大小或者干扰线的宽度;
f).边框:很多认证码都会给认证码添加各种颜色和宽度的边框,这里的边框值就是边框本身的宽度;
选项:
1、预处理图片:如果你选择了这个选项,Captchio会自动对图片进行黑白化、剔除背景、计算认证码内容真实区域(去除空白区域);合理地应用这个选项可以很好地识别各种复杂的认证码;
2、调试模式:您选择调试模式,如果你同时选择预处理图片,那么在加载测试图片后会显示一个虚线方框在图片实际内容周围,训练/识别的时候会包括这个虚线方框,这样可能会影响您识别数据。
使用步骤:
1、训练:打开要训练的认证码图片,数量越多,效果越好。学习要求有原值对比,以帮助Captchio判断识别出来的是否真实的值;你还必须输入"色值";
a).自动学习:如果认证码图片是规则的,如每个字符的宽度、之间的间距类似,则可以用这个方法自动训练;
b).手工学习:如果认证码图片是不规则的,如每个字符的宽度、之间的间距都不一样,甚至很多变形等,则可以勾掉"自动学习",必须输入"左偏"(第一个字符距离图片左边的空白间距)、"长度"(字符数)、"宽度"(每个字符大约的宽度),点击训练进行手工训练;
c).保存/打开测试包:你可以把当前多个的测试认证码图片保存为一个测试包文件(仅包括图片路径和原值),下次测试便可方便地使用"打开测试包"重新加载,方便训练,默认扩展名是".ctp";
d).如何训练更多认证码图片:你可以打开本地/网络图片,也可以测试包,在提示"是否清空现在的测试环境"的时候,选择否,这样可以不断增加训练结果,注意:如果你不保存识别数据,数据是不会被改变的。
2、识别:
a).点击"操作"->"识别",你会发现Captchio识别出来的认证码会显示在"原值"的下面,如果识别出来的效果不理想,可以尝试改用手工学习,调整位移、宽度、色值等选项;
b).你可以打开一个认证码图片进行测试;
3、保存/打开识别数据(默认扩展名是".cdb"):
a).保存:训练完成,识别效果满意,你可以把当前的识别数据保存到一个文件;
b).打开:你可以打开原来保存的识别数据,这样就省却每次的训练测试;
第三方调用:
1、说明:Captchio的最终应用是作为第三方组件提供给开发用户用以识别认证码,实现自动登录网站系统/提交数据,所以Captchio提供了一个ActiveX DLL功能库(Captchio.dll),任何支持ActiveX技术的开发工具都可以调用,包括VC/VB/Delphi/.NET/Java (JNI)等;
2、调用:
A).公开的接口:
1).最主要的接口是"Captchio.cCaptcha",ClsID="{7AA16481-3F1D-490C-A0CD-56731839D6ED}"
B).公开的方法:
a).打开识别数据:bool OpenCharDB(string DBFilePath),DBFilePath是识别数据文件;
b).识别认证码:
1).string GetStringFromFile(string ImageFilePath):ImageFilePath是要识别的认证码图片文件;
2).string GetStringFromURL(string URL):URL是要识别的认证码图片的网址;
3).string GetStringFromBytes(byte[] ImageBytes):ImageBytes是要识别的认证码图片文件内容数组;
C).公开的属性:
1).CharAmount:认证码图片里面的字符数;
2).CharWidth:认证码图片里面每个字符的宽度;
3).ItemOffsetX:参看识别->左偏;
4).BinaryColor:参看识别->色值;
5).TorrenceCount:参看识别->干扰;
6).BorderCount:参看识别->边框;