怎么免费建立自己的网站平台,培训机构课程设置,广州做网站推广公司,桂林市国龙外国语学校前言
有时候项目需要识别证照信息#xff0c;或者拍照搜索内容等。图片处理一般是后端处理比较好#xff0c;不过前端也有相关插件处理#xff0c;tesseract.js就是一种前端处理方案。
使用tesseract
tesseract更多的语言模型#xff1a;language配置
安装
Tesseract.…前言
有时候项目需要识别证照信息或者拍照搜索内容等。图片处理一般是后端处理比较好不过前端也有相关插件处理tesseract.js就是一种前端处理方案。
使用tesseract
tesseract更多的语言模型language配置
安装
Tesseract.js 可通过本地拷贝或 CDN 使用
CDN
!-- v5 --
script srchttps://cdn.jsdelivr.net/npm/tesseract.js5/dist/tesseract.min.js/script引用后使用全局对象 Tesseract 即可。
npm / yarn
# 安装最新版本
npm install tesseract.js
yarn add tesseract.js# 安装指定版本
npm install tesseract.js3.0.3
yarn add tesseract.js3.0.3使用项目环境支持的模块语法引入即可。 例如ESM引入
import { createWorker } from tesseract.js;代码中使用
开启worker使用
使用 createWorker会开启woker线程识别图片并提取文字,第一个参数为语言模型类型。 createWorker参数说明 最后不用时记得调用worker.terminate把woker关掉避免造成卡顿、内存干爆等情况。
import { createWorker } from tesseract.js;
(async () {
// 创建woker,并选用语言模型const worker await createWorker(eng);const ret await worker.recognize(https://tesseract.projectnaptha.com/img/eng_bw.png);console.log(ret.data.text);// 关闭wokerawait worker.terminate();
})();直接使用
调用 recognize 识别图片并提取文字, recognize 的工作原理与 worker.recognize 相同只是每次调用该函数时都会创建、加载和销毁一个新的 Worker。 参数
第一个参数本地图片地址、base64、blob对象、buffer、 img元素或canvas元素支持的图片类型bmp, jpg, png, pbm, webp.第二个参数语言模型表示要下载的语言训练数据的字符串多个语言用 连接例如engchi_tra。第三个参数配置 该函数已经过时应由 worker.recognize 代替,官方推荐使用 createWorker。 import { recognize } from tesseract.js;
let src https://tesseract.projectnaptha.com/img/eng_bw.png
recognize(src, chi_simeng).then(result {var extractedText result.data.text;console.log(Extracted Text:, extractedText);document.getElementById(extracted-text).textContent extractedText;}).catch(error {console.error(Error:, error);});效果 bodyh1/h1input typefile idimage-input acceptimage/*button onclickprocessImage()提取文字/buttondiv idextracted-text/div!-- tesseract.jsv5 CDN --script defer srchttps://cdn.jsdelivr.net/npm/tesseract.js5/dist/tesseract.min.js/scriptscript deferlet worker;// 处理上传的图像function processImage() {var input document.getElementById(image-input);if (input.files input.files[0]) {var reader new FileReader();reader.onload async function (e) {// 图像加载完成后执行文字提取worker await Tesseract.createWorker(chi_simeng)worker.recognize(e.target.result).then(result {var extractedText result.data.text;console.log(Extracted Text:, extractedText);document.getElementById(extracted-text).textContent extractedText;}).catch(error {console.error(Error:, error);}).finally(() {console.log(123);if (worker)worker.terminate();})};reader.readAsDataURL(input.files[0]);}}/script
/body结语
在使用时发现识别中文的语言训练模型准确率不高英文或数字蛮准。 如果项目涉及识别中文请使用其他方案或者自己训练符合要求的语言模型。 结束了。