tesseract 识别内存图像示例

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

整理自: 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 个回复 | 最后更新于 2020-05-15
2020-05-21   #1

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

2020-05-21   #2

回复#1 @周山下樵夫 :

找到官网的了.


aspriseOCR for  aardio

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

2020-05-22   #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

2020-05-22   #4

回复#3 @周山下樵夫 :

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

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...