Tesseract.js初使用

由于最近迷上了哔哩哔哩的直播,人穷没钱买瓜子,据说这个js能识别语音,和图片,刚好领取瓜子需要做一道数学题,又于是激动准备着手自己搞个插件自动领瓜子,哇咔咔咔~~~废话不说,表示尊重,
上git:https://github.com/naptha/tesseract.js
还有:http://tesseract.projectnaptha.com/

一、安装:

1.标签式:

用下面这个cdn地址或者在git中下载下来找到tesseract.js引入就行了

2.其他的就不说了,其实是我不会

二、使用:

/* recognize()启动识别的方法
 * "getCaptcha.jpg" 可以传入文件路径,文件对象,2d图像,二进制对象等
 * lang  识别的语言种类,下面再详细说
 * classify_bln_numeric_mode  识别过程中需要用到一些参数,类似一些常量的东东,也可以不填
 * progress() 执行识别过程中要进行的操作,简单的识别可以省略这个
 * packet 这个对象包含状态等内容,详细请console.info()
 * then()  相当于识别成功后的回调吧
 * data 自己console.info()
 */
Tesseract.recognize("getCaptcha.jpg", {
	lang: "eng",
	classify_bln_numeric_mode: 1
})
.progress(function(packet){
	//progressUpdate(packet)
	})
.then(function(data){
	alert(data.text);
	//progressUpdate({ status: 'done', data: data })
});

好了,就这么简单
上面提到的,要识别什么类型语言的话在下面的地址找
https://github.com/naptha/tesseract.js/blob/master/docs/tesseract_lang_list.md
找到对应语言的简写填写对应简写参数就行了

参数部分,(类似classify_bln_numeric_mode的东东) ,下面的网址也有详细描述,简单点说,针对相关的参数进行调整,可以更好哋使用这个插件,例如调试等等,调得好还可以提高识别率,估计有两百个可以调整的参数,66666
https://github.com/naptha/tesseract.js/blob/master/docs/tesseract_parameters.md

当然,这里有个问题,直接用上面的简单例子是可以识别,但是速度是个问题
因为Tesseract.js还依赖其他包,识别的时候会在线加载相应的东东,有在git下载同学就知道了,dist里面还有worker.js这个文件,以及另外的index.js文件
所以如果要加速的话可以这样,引入本地文件

//这里面都引入本地的包就行了,langPath是存放语言包的路径
window.Tesseract = Tesseract.create({
    workerPath: '/path/to/worker.js',
    langPath: 'https://cdn.rawgit.com/naptha/tessdata/gh-pages/3.02/',
    corePath: 'https://cdn.rawgit.com/naptha/tesseract.js-core/0.1.0/index.js',
})
.recognize("getCaptcha.jpg", {
	lang: "eng",
	classify_bln_numeric_mode: 1
})
.progress(function(packet){
	//progressUpdate(packet)
	})
.then(function(data){
	alert(data.text);
	//progressUpdate({ status: 'done', data: data })
});
好了,除了这个还发现有ocrad.js这个,有兴趣的可以研究研究
最后:识别哔哩哔哩数学题自动领瓜子的插件做不成,因为这无论用什么语言都识别不出来,参数微调部分也不行,识别率太低,20个能准确识别出一个左右,还是改用其他方法吧~~~~写完看直播去~

你可能感兴趣的:(js,tesseract)