完美验证码识别系统,验证码插件使用帮助文档

该验证码插件为《完美验证码识别系统V3.2.1》的python封装,提供给UiBot实现需验证码识别的场景的解决方案。


载入识别库

LoadDat(datPath, password)

函数说明:
       从文件中载入识别库文件,成功返回True,否则返回False。

参数:

参数名 类型 说明
datPath 文本型 识别库文件所在全路径
password 文本型 识别库调用密码

返回值:

返回结果 类型 说明
True boolean型 载入识别库成功
False boolean型 载入识别库失败

示例:

import wmcode
// 识别库路径
Dim datPath = "d:\\demo\\辽宁-12345606.dat"
// 识别库密码
Dim password = "12345606"
// 字库标识
Dim flag
// 加载识别库
flag = wmcode.LoadDat(datPath,password)
If flag
   TracePrint("识别库加载成功")
else
   TracePrint("识别库加载失败")
end if

LoadDatEx(datPath, password)

函数说明:
       从文件中载入识别库文件,成功返回字库实例Id,失败返回-1。
                             该函数用于多个字库同时使用场景。根据字库id对不同的图片进行识别。

参数:

参数名 类型 说明
datPath 文本型 识别库文件所在全路径
password 文本型 识别库调用密码

返回值:

返回结果 类型 说明
字库id 整数型 载入识别库成功,返回字库id
-1 整数型 载入识别库失败

示例:

import wmcode
// 识别库路径
Dim datPath = "d:\\demo\\辽宁-12345606.dat"
// 识别库密码
Dim password = "12345606"
// 字库标识
Dim flag
// 加载识别库
flag = wmcode.LoadDatEx(datPath,password)
If flag > -1
   TracePrint("识别库加载成功,字库id为:" & flag)
else
   TracePrint("识别库加载失败")
end if

设定识别库选项

SetWmOption(OptionIndex, OptionValue)

函数说明:
       设定识别库选项。设定成功返回真,否则返回假。

参数:

参数名 类型 说明
OptionIndex 整数型 识别库文件所在全路径
OptionValue 整数型 识别库调用密码

参数取值范围:

  • [x] 返回方式
OptionIndex OptionValue 默认值 说明
1 0 0 直接返回验证码
1 1 0 返回验证码字符和矩形范围。例如:S,10,11,12,13\|A,1,2,3,4 表示识别到文本 S >>左边横坐标10,左边纵坐标11,右边横坐标,右边纵坐标12
1 2 0 返回验证码字符和总体信任度。例如:abcd\|98 表示识别结果abcd,总体信任度98
1 3 0 返回验证码字符和矩形范围形和总体信任度。例如:S,10,11,12,13\|A,1,2,3,4\|98 >>表示识别到文本 S 左边横坐标10,左边纵坐标11,右边横坐标,右边纵坐标12....总体信任度为98
  • [x] 识别方式

可以进行分割的验证码,建议优先使用分割识别,因为分割后不仅能提高识别率,而且还能提高识别速度

OptionIndex OptionValue 默认值 说明
2 0 0 整体识别
2 1 0 连通分割识别
2 2 0 纵分割识别
2 3 0 横分割识别
2 4 0 横纵分割识别
  • [x] 识别模式

识图模式指的是背景白色视为透明不进行对比,识字模式指的是白色不视为透明,也加入对比。
绝大多数我们都是使用识图模式,但是有少数部分验证码,使用识字模式更佳。

OptionIndex OptionValue 默认值 说明
3 0 0 识图模式
3 1 0 识字模式
  • [x] 识别加速

一般建议开启加速功能,开启后对识别率几乎不影响。而且能提高3-5倍识别速度。

OptionIndex OptionValue 默认值 说明
4 0 0 不加速
4 1 0 使用加速
  • [x] 加速返回

使用加速返回一般用在粗体字识别的时候,可以大大提高识别速度,但是使用后,会稍微影响识别率。识别率有所下降。一般不是粗体字比较耗时的验证码,一般不用开启

OptionIndex OptionValue 默认值 说明
5 0 0 不加速返回
5 1 0 使用加速返回
  • [x] 最小相似度
OptionIndex OptionValue 默认值 说明
6 0~100 90 相似度值,值越大越严格
  • [x] 字符间隙

如果字符重叠,根据实际情况填写。如:-3允许重叠3像素;如果不重叠的话,直接写0。
注意:重叠和粘连概念不一样,粘连的话,其实字符间隙为0。

OptionIndex OptionValue 默认值 说明
7 -10~0 0 字符重叠间隙

返回值:

返回结果 类型 说明
True boolean型 设置成功
False boolean型 设置失败

示例:

import wmcode
// 识别库路径
Dim datPath = "d:\\demo\\辽宁-12345606.dat"
// 识别库密码
Dim password = "12345606"
// 字库标识
Dim flag
// 加载识别库
flag = wmcode.LoadDat(datPath,password)
// 设置“返回方式”为:返回验证码字符和矩形范围
wmcode.SetWmOption(1,1)
// 设置“识别方式”为:纵分割识别
wmcode.SetWmOption(2,2)

If flag
   TracePrint("识别库加载成功")
else
   TracePrint("识别库加载失败")
end if

SetWmOptionEx(wmid, OptionIndex, OptionValue)

函数说明:
       设定指定id的识别库选项。设定成功返回真,否则返回假。

参数:

参数名 类型 说明
wmid 整数型 字库id(LoadDatEx返回的字库id)
OptionIndex 整数型 识别库文件所在全路径
OptionValue 整数型 识别库调用密码

参数取值范围:

  • [x] 返回方式
OptionIndex OptionValue 默认值 说明
1 0 0 直接返回验证码
1 1 0 返回验证码字符和矩形范围。例如:S,10,11,12,13\|A,1,2,3,4 表示识别到文本 S >>左边横坐标10,左边纵坐标11,右边横坐标,右边纵坐标12
1 2 0 返回验证码字符和总体信任度。例如:abcd\|98 表示识别结果abcd,总体信任度98
1 3 0 返回验证码字符和矩形范围形和总体信任度。例如:S,10,11,12,13\|A,1,2,3,4\|98 >>表示识别到文本 S 左边横坐标10,左边纵坐标11,右边横坐标,右边纵坐标12....总体信任度为98
  • [x] 识别方式

可以进行分割的验证码,建议优先使用分割识别,因为分割后不仅能提高识别率,而且还能提高识别速度

OptionIndex OptionValue 默认值 说明
2 0 0 整体识别
2 1 0 连通分割识别
2 2 0 纵分割识别
2 3 0 横分割识别
2 4 0 横纵分割识别
  • [x] 识别模式

识图模式指的是背景白色视为透明不进行对比,识字模式指的是白色不视为透明,也加入对比。
绝大多数我们都是使用识图模式,但是有少数部分验证码,使用识字模式更佳。

OptionIndex OptionValue 默认值 说明
3 0 0 识图模式
3 1 0 识字模式
  • [x] 识别加速

一般建议开启加速功能,开启后对识别率几乎不影响。而且能提高3-5倍识别速度。

OptionIndex OptionValue 默认值 说明
4 0 0 不加速
4 1 0 使用加速
  • [x] 加速返回

使用加速返回一般用在粗体字识别的时候,可以大大提高识别速度,但是使用后,会稍微影响识别率。识别率有所下降。一般不是粗体字比较耗时的验证码,一般不用开启

OptionIndex OptionValue 默认值 说明
5 0 0 不加速返回
5 1 0 使用加速返回
  • [x] 最小相似度
OptionIndex OptionValue 默认值 说明
6 0~100 90 相似度值,值越大越严格
  • [x] 字符间隙

如果字符重叠,根据实际情况填写。如:-3允许重叠3像素;如果不重叠的话,直接写0。
注意:重叠和粘连概念不一样,粘连的话,其实字符间隙为0。

OptionIndex OptionValue 默认值 说明
7 -10~0 0 字符重叠间隙

返回值:

返回结果 类型 说明
True boolean型 设置成功
False boolean型 设置失败

示例:

import wmcode
// 识别库路径
Dim datPath = "d:\\demo\\辽宁-12345606.dat"
// 识别库密码
Dim password = "12345606"
// 字库标识
Dim flag
// 加载识别库
flag = wmcode.LoadDatEx(datPath,password)
// 设置“返回方式”为:返回验证码字符和矩形范围
wmcode.SetWmOptionEx(flag,1,1)
// 设置“识别方式”为:纵分割识别
wmcode.SetWmOptionEx(flag,2,2)

If flag > -1
   TracePrint("识别库加载成功,字库id为:" & flag)
else
   TracePrint("识别库加载失败")
end if

识别验证码

getCodeFormFile(img)

函数说明:
       识别一个图像文件,返回识别的验证码。

参数:

参数名 类型 说明
img 文本型 图像文件所在全路径

返回值:

返回结果 类型 说明
验证码字符串 文本型 识别库成功,返回验证码文字
"" 文本型 识别失败

示例:

import wmcode
// 识别库路径
Dim datPath = "d:\\demo\\辽宁-12345606.dat"
// 识别库密码
Dim password = "12345606"
// 待识别验证码图片路径
dim imgPath = "d:\\demo\\ln.bmp"
// 字库标识
Dim flag, vcode
// 加载识别库
flag = wmcode.LoadDat(datPath,password)
If flag
   // 识别图片
   vcode = wmcode.getCodeFormFile(imgPath)
   TracePrint("识别库加载成功,验证码:" & vcode)
else
   TracePrint("识别库加载失败")
end if

getCodeFormFileEx(wmid, img)

函数说明:
       识别一个图像文件,返回识别的验证码。

参数:

参数名 类型 说明
wmid 整数型 字库id(LoadDatEx返回的字库id)
img 文本型 图像文件所在全路径

返回值:

返回结果 类型 说明
验证码字符串 文本型 识别库成功,返回验证码文字
"" 文本型 识别失败

示例:

import wmcode
// 识别库路径
Dim datPath = "d:\\demo\\辽宁-12345606.dat"
// 识别库密码
Dim password = "12345606"
// 待识别验证码图片路径
dim imgPath = "d:\\demo\\ln.bmp"
// 字库标识
Dim flag, vcode
// 加载识别库
flag = wmcode.LoadDatEx(datPath,password)
If flag > -1
   // 识别图片
   vcode = wmcode.getCodeFormFileEx(flag,imgPath)
   TracePrint("识别库加载成功,验证码:" & vcode)
else
   TracePrint("识别库加载失败")
end if

计算数学表达式

Calculator(Expression)

函数说明:
       计算数学表达式。功能简单,只是用来计算那些需要填写计算结果的验证码。

参数:

参数名 类型 说明
Expression 文本型 数学表达式,只能计算加,减,乘,除,次方运算,支持小括号,中括号,大括号运算,支持负数运算

返回值:

返回结果 类型 说明
表达式计算结果 文本型 计算成功,返回结算结果
"" 文本型 识别失败

示例:

import wmcode

TracePrint(wmcode.Calculator("1+2"))

作者:LCSan
链接:https://www.jianshu.com/p/ba1401d68ba9
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/huangcong/p/12021688.html

时间: 2024-11-08 14:47:15

完美验证码识别系统,验证码插件使用帮助文档的相关文章

如何利用启明星Portal门户系统的Page模块构建文档库

利用启明星门户系统的Page模块构架可以搭建企业内部的文档管理系统. (一)应用背景 企业内部通常都会使用共享网盘的方式来存放不同部门之间的文档,例如管理员在服务器上对人事部门增加人事部文档文件夹. 但是随着文件的增加,管理会越来越不方便,主要体现在 (1)查找不方便.用户可能为了找一个制度文档翻遍所有文件夹. (2)公私不明权限维护不方便,例如在人事部文档内部,部分制度需要公开,部分仅限人事部内部查看,而现行管理方式中所有内容都混在了一起,杂乱无章. 为此,启明星推出了Pages模块的文档管理

php使用phpword插件生成word文档

php使用phpword插件生成word文档php使用phpword插件生成word文档,有需要的朋友可以参考参考. <?php require_once '../libs/PHPWord/PHPWord.php'; require_once '../libs/PHPWord/PHPWord/IOFactory.php'; require_once '../../config.php'; // require_once '../common/conn.php'; // New Word Docu

如何识别ABBYY FineReader中多语言文档

ABBYY FineReader是一款OCR文字识别软件,使用ABBYY FineReader可以识别阿拉伯语.希伯来语.意第绪语.泰国语.中文.日语和韩语文档,处理中文.日语或韩语文档,以及混合使用中日韩 (CJK)语言和欧洲语言的文档时,需先安装相应的语言支持,推荐的字体等,下面就和大家分享下在ABBYY FineReader中如何识别多语言文档. 若有疑问可直接访问:http://www.abbyychina.com/FRshiyongjiqiao/abbyyfr-duoyuyanwd.h

基于Metronic的Bootstrap开发框架经验总结(17)-- 使用 summernote插件实现HTML文档的编辑和图片插入操作

在很多场合,我们需要在线编辑HTML内容,然后在页面上或者其他终端上(如小程序.APP应用等)显示,编辑HTML内容的插件有很多,本篇介绍基于Bootstrap的 summernote插件实现HTML文档的编辑和图片插入操作,这个控件的使用非常方便,并且用户群也很大. Summernote 是一个简单灵活,所见即所得(WYSIWYG)的编辑器,Summernote是一个轻量级.灵活基于Bootstrap和jQuery的HTML文本编辑器,拥有强大的API配置功能,多国语言支持支持Bootstra

验证码识别——图形验证码

先找了一个简单的图形验证码进行测试,比如知网,从网页里把验证码下载到本地 进行简单的灰度处理和二值化处理,能够提高不少识别正确率 验证码: 代码: 1 import tesserocr 2 from PIL import Image 3 4 image = Image.open('code.jpg') 5 #灰度处理 6 image = image.convert('L') 7 #阈值 8 threshold = 127 9 table = [] 10 #阈值处理 11 for i in ran

Linux 系统Shell命令及帮助文档命令(man)

1.强大好用的Shell 命令 通常来讲,计算机硬件是由运算器.控制器.存储器.输入/输出设备等共同组成的,而让各种硬件设备各司其职且又能协同运行的东西就是系统内核.Linux系统的内核负责完成对硬件资源的分配.调度等管理任务.由此可见,系统内核对计算机的正常运行来讲是太重要了,因此一般不建议直接去编辑内核中的参数,而是让用户通过基于系统调用接口开发出的程序或服务来管理计算机,以满足日常工作的需要,如图1所示. 必须肯定的是,Linux系统中有些图形化工具(比如逻辑卷管理器[Logical Vo

次世代验证码识别系统

需要 AntiVC.dll文件 http://antiyzm.sinaapp.com/archives/category/detail unit Delphi7; interface uses Windows, Classes, Graphics, Controls, Forms, ExtCtrls, StdCtrls, jpeg; type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TE

简易留言簿系统--ASP.NET MVC(文档)

一直都在学习MVC的理论.今天做一个简易的留言簿系统,当做实战的第一个项目.由于前端技术掌握不是很好,所以前端制作最简单的处理. 项目名称:在线留言簿系统. 前端技术:DIV+CSS , AJAX 后台开发技术:ASP.NET MVC + SQL 两大主要模块: 用户模块: 注册(注册信息包括Email,密码,创建时间.需要进行邮箱是否有效验证.) 登录 留言模块: 发布留言(发布留言包括主题,内容,发布时间,ip地址,发布人.) 显示留言 回复留言(回复留言包括 内容,发布时间,ip地址,所关

迅为6818开发板Ubuntu系统下CAN 测试使用文档

平台:iTOP-6818开发板系统:Ubuntu12.04主要是在 Ubuntu 系统环境下 iTOP-4418 和 6818 的 CAN 实验调试步骤.给用户提供了"can_libs.rar"."can_libs_more.zip"."can_tools.zip"和"can_test.zip"压缩包,分别是 can 工具需要的库文件.can 工具二进制文件以及 can 实验Qt 源码.CAN 是 Controller Are