tesseract 识别内存图像示例

By 笑口常开 at 2019-03-22 • 0人收藏 • 696人看过

整理自: aar培训群 , 收藏备用

培训群里有人问: tesseract 怎么识别内存图像?

感谢 jacen He提供代码:

 import gdip;
var bin = gdip.bitmap("\test.jpg").saveToBuffer("*.tif"); 
var pix = liblept.pixReadMem(bin,#bin);
ocr.setImage2( pix )

下面引用他的回复:

 其实他有 pixReadMemPng ,pixReadMemJpeg。。。。。一堆,都用不了,就连 pixReadMemTiff也识别不了tif,然后 liblept.pixReadMem(bin,#bin);却可以识别TIF,文档上看到的:On windows, this will only read tiff formatted files from memory. 
这种问题其实直接找liblept的相关资料就可以了


4 个回复 | 最后更新于 19 天前
12 天前   #1

语言包能帮忙提供一下吗.示例下载过来的语言包不能用,csdn我没账号

12 天前   #2

回复#1 @周山下樵夫 :

找到官网的了.


aspriseOCR for  aardio

这个只看到11年的帖子,已经被淘汰了么

12 天前   #3
import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio工程";right=959;bottom=591)
mainForm.add(
static={cls="static";text="Static";left=8;top=8;right=960;bottom=592;transparent=1;z=1}
)
/*}}*/

import console
import web.form.util
import com.picture
import process.imageView;
import tesseract;
web.form.emulation(8888)
wb=web.form(mainForm.static)
wb.go("http://zwfw.safe.gov.cn/asone/")
wb.wait()
var ele = wb.getEle("checkCode")  
var 窗口句柄,左坐标,顶坐标,宽,高
窗口句柄=mainForm.hwnd
左坐标,顶坐标,宽,高=wb.getPos(ele)
console.log(窗口句柄)
console.log(wb.getPos(ele))
//输出下句柄和验证码坐标
var pic=com.picture.printClient(窗口句柄,左坐标+10,顶坐标+10,宽,高)
//截图时候,发现不知道为什么会有位移!求指导
pic.Save("/code.jpg")

//以下是识图
var ocr = tesseract.ocr();
if( 0 != ocr.init("eng") ){ //初始化样本语言包 
	error("没有找到样本 eng.traineddata",2)
	
}
//预设字符集可提升识别率,注意要一定在加载样本以后调用此函数
ocr.setVariable("tessedit_char_whitelist","0123456789");

//获取图像像素数据
var pix = liblept.pixRead( ..string.fromto( ..io.fullpath("/code.jpg")) );
ocr.setImage2( pix ) 

//识别图像
if( 0 != ocr.recognize() ){
	console.pause(true,"识别图像出错");
	return;
}
var text = ocr.getText()

console.log(text)
process.imageView("/code.jpg")
//对比下结果
mainForm.show();
return win.loopMessage();

从外汇局网站上识别验证码! 今晚3小时的作品.大家指点下

从aardio作者那里抄了tesseract识别部分的源码部分.

有一个问题,为什么我抓取的验证码坐标和我实际部分的不一样.我发现要坐标+10才能截图正确!

我今晚考虑了好几种方法,不知道博主能否指点下.

  1. 能不能用植入JS方法下载保存验证码的图片.

  2. 从系统缓存中找到这个验证码图片

  3. 元素能不能直接赋值到剪切板,我从剪切板里识图.

  4. 百度说这个验证码脚本是随机变化出来的,是不是可以直接破解验证码的啊?

  5. web.form有自带的截图或者下载图片方法么???

  6. ...web.form 不能用ctrl+(+)进行页面放大了..有办法吗.

    谢谢博主解答.或者偶尔路过的aardio作者jacen

12 天前   #4

回复#3 @周山下樵夫 :

直接识别好像正确性只有60% 偶尔中间有空格.不知道aardio有没有处理图片的库

登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
Sciter中文在线文档Sciter在线学习文档
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...