JavaScript实现图片文字识别与读取
时间:2019-03-05
本文章向大家介绍JavaScript实现图片文字识别与读取,主要包括JavaScript实现图片文字识别与读取使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
JavaScript实现图片文字识别与读取(实现ORC)
- Tesseract.js和ocrad.js两个js库
- Tesseract.js
引入Tesseract.js
Tesseract.recognize的识别方法有两个配置参数
第一个参数可以是本地的一个图片,也可以是网络上的一个图片地址,还可以是一个base64格式的二进制图片格式;
第二个参数就是配置信息,包括识别的语种等等。这里classify_bln_numeric_mode表示假定图片中只有数字,大家可以根据自己需要去设置不同的值
function recognize_image(){
document.getElementById('transcription').innerText = "(等待中...)"
Tesseract.recognize("./显示底部桌面.png", {
lang: 'chi_sim',
classify_bln_numeric_mode: 1
}).then(function(result){
console.log('哈哈',result.text); //识别出的文字
document.getElementById('transcription').className = "done"
document.getElementById('transcription').innerText = result.text;
});
}
</script>
<div id="main">
<!-- CODE大全:www.codedq.net -->
<img id="pic" src="./显示底部桌面.png" "recognize_image()">
<div id="transcription"></div>
</div>
Tesseract.create({
workerPath: '/path/to/worker.js',
langPath: 'https://localhost/',
corePath: 'https://localhost/index.js',
}).recognize("http://xxx/xxx.jpg", {
lang: 'eng',
classify_bln_numeric_mode: 1
}).then(function(result){
$("#code").val(result.text);
});
workerPath
: worker.js路径,worker.js可以从第一步中下载的dist目录中获取
langPath
: 语言资源包请求地址,默认 https://cdn.rawgit.com/naptha/tessdata/gh-pages/3.02/。
语言包url可以通过 langPath + langCode + '.traineddata.gz’计算得到,例如英语的语言包地址在上例中就是 https://localhost/eng.traineddata.gz。这里说的语言是指图片中待识别的内容是何种语言,可以在 recognize 方法中通过第二个参数设置,上例中设置语言为 eng,完整的可取语言列表参见 https://github.com/naptha/tesseract.js/blob/master/docs/tesseract_lang_list.md
corePath: index.js 路径,默认 https://cdn.rawgit.com/naptha/tesseract.js-core/master/index.js
- ocrad.js 和Tesseract.js用法一样
- 缺点: 比如车牌,身份证,这些可做到零误差,其余的只能做通用的文字识别,获取模版识别 但是也有部分限制。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 原生JS封装拖动验证滑块你会吗?
- 企业远程视频会议云服务EasyRTC-SFU版本支持 https 功能设计逻辑
- python之编码解码、字符串常用方法
- python之列表
- 一文带你深入理解Mysql索引底层数据结构与算法
- CGI & FastCGI
- 可输出sql的PrepareStatement封装
- spring mvc基础配置
- spring 事务管理方式及配置
- spring 整合 ActiveMQ
- Spring 配置请求过滤器,编码格式设为UTF-8,避免中文乱码
- ntopng网络监控-远程协助/访问
- 使用JUnit4测试Spring
- jquery.validate remote的用法
- PHP debug 环境配置