首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tesseract.js不适用于本地文件

Tesseract.js不适用于本地文件
EN

Stack Overflow用户
提问于 2022-08-17 08:13:28
回答 1查看 183关注 0票数 0

当我在URL上运行tesseract.js时,它工作得很好。但是,当我在本地文件上运行它时,我会得到这些错误。我怎么才能解决这个问题?

我正在运行tesseract.js v2.1.0,下面是我的代码:

代码语言:javascript
复制
const { createWorker } = require('tesseract.js');

const worker = createWorker({
  logger: m => console.log(m), // Add logger here
});

(async () => {
  await worker.load();
  await worker.loadLanguage('eng');
  await worker.initialize('eng');
  const { data: { text } } = await worker.recognize('download.png');
  console.log(text);
  await worker.terminate();
})();

EN

回答 1

Stack Overflow用户

发布于 2022-10-18 10:45:24

如果您想要在tesseract中加载本地映像,则必须通过输入标记加载它们,下面是工作示例。

代码语言:javascript
复制
<input type="file" id="input_image" accept="image/*">

JavaScript

代码语言:javascript
复制
const input_image = document.getElementById("input_image");

const offscreen_canvas = new OffscreenCanvas(0, 0);
const offscreen_canvas_context = offscreen_canvas.getContext("2d");

input_image.addEventListener("change", () => {
  var file = input_image.files[0];
  if (file == undefined) return;
  var reader = new FileReader();
  reader.onload = function (event) {
    const reader_image = event.target.result;
    const image = new Image();
    image.onload = function () {
      offscreen_canvas.width = image.width;
      offscreen_canvas.height = image.height;
      offscreen_canvas_context.drawImage(image, 0, 0);
      offscreen_canvas.convertToBlob().then((blob) => {
        Tesseract.recognize(blob, "eng", {
          logger: (m) => console.log(m)
        }).then(({ data: { text } }) => {
          console.log(text);
        });
      });
    };
    image.src = reader_image;
    };
  reader.readAsDataURL(file);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73385026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档