简单的开发OCR识别验证码软件

易语言 2020-07-23 10:41:26

简单的开发OCR识别验证码软件

.DLL命令 OCR识别, 文本型, "my_ocr.dll", "OCR识别", 公开, 传入小于100*100的图片路径,识别码的类型,识别码的字符数,返回文本型验证码
.参数 路径, 文本型, , 识别图片的完整路径
.参数 类型, 整数型, , 汉字:2052,英文+数字:9
.参数 字符数, 整数型, , 识别验证码的长度

模拟精灵调用方法:

ocr=dll.open("my_ocr.dll", "OCR识别", "s(s,n,n)","stdcall")
ocr("图片路径",9,4)

通用对话框1.初始目录 = 取特定目录 (3)
通用对话框1.过滤器 = “图片文件(*.bmp,*.jpg,*.gif,*.png)|*.bmp;*.jpg;*.gif;*.png”
临时 = 读环境变量 (“TEMP”)
.如果真 (通用对话框1.打开 ())
文件 = 读入文件 (通用对话框1.文件名)
图片框1.图片 = 文件
转换.转换图像格式 (文件, 1, 新图片)
识别位图.载入数据 (新图片)
位图.载入数据 (字节集1)
识别位图.复制到 (0, 0, 选择 (识别位图.取宽度 () > 100, 100, 识别位图.取宽度 ()), 选择 (识别位图.取高度 () > 80, 80, 识别位图.取高度 ()), 位图, 0, 10, )
写到文件 (临时 + “\test.bmp”, 位图.取位图数据 ())
.如果真 (对象1.创建 (“MODI.Document”, ) = 真)
对象1.方法 (“Create”, 临时 + “\test.bmp”)
对象1.方法 (“OCR”, 组合框2.取项目数值 (组合框2.现行选中项), 假, 假)
对象1 = 对象1.读对象型属性 (“Images”, )
对象1 = 对象1.读对象型属性 (“Item”, 0)
对象1 = 对象1.读对象型属性 (“Layout”, )
返回值 = 对象1.读文本属性 (“Text”, )
编辑框1.内容 = 返回值