node.js - 在node js中读取图像数据并裁剪图像的某些部分

标签 node.js machine-learning automation ocr

我的客户要求用户使用该图像上传图像,我必须读取数据并裁剪图像的某些部分。我可以使用 tesseract.js 从图像中获取读取数据 Node 模块。裁剪部分也已完成,它仅适用于某些图像,不适用于所有图像。下面的代码用于获取图像数据。

const Tesseract = require("tesseract.js");

Tesseract.recognize("./pancard.jpg", "eng", {
  logger: m => console.log(m)
}).then(({ data: { text } }) => {
  console.log(text);
});

对于裁剪图像,我使用锐 Node 模块。下面的代码基本上在调整图像大小和裁剪特定数据后调整图像大小。

const sharp = require("sharp");
sharp("./pancard.jpg")
  .resize(500, 300, {
    fit: sharp.fit.fill
  })
  .toFile("./pancard_new.jpg", (err, info) => {
    sharp("./pancard_new.jpg")
      .extract({ left: 35, top: 220, width: 180, height: 28 })
      .toFile("./pancard_new2.jpg", function(err) {});
  });

上面的代码对于下面的图像工作正常,我能够获得该特定图像的签名。 Image

但相同的代码不适用于下图。 Other image

基本上我想从该图像中裁剪签名。如果有人知道如何从哪里开始执行上述任务,请帮助我。

注意*:图片来自谷歌。

最佳答案

这一切都取决于图像,使用 Sharp,您可以提供一个 View 框来裁剪图像,但如果提供的图像旋转,您的代码也不适用于第一个图像。我认为您需要某种适合您的用例的机器学习驱动库,例如 opencv,或者将 View 框设置得足够大以捕获签名。

关于node.js - 在node js中读取图像数据并裁剪图像的某些部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60279513/

相关文章:

r - R-大数据集中的相关矩阵

python - sklearn 的 DecisionTreeClassifier 中的 "splitter"属性有什么作用?

machine-learning - LSTM 中的 return_sequences

azure - 使用 Azure VM 上的 TFS 构建作为 Windows 服务和 Web Api 进行持续分发

java - 并行测试执行 Jenkins

c# - 如何在每次页面加载时使用动态(更改)Xpath 值的列表框在 C# 中使用 Selenium 选择下拉项

node.js - Expresscart安装错误npm ERR! Fibers@2.0.0 安装脚本失败

javascript - 使用命令的数组

mysql - 尝试在 Mac 中运行 Node.js Ubuntu 项目时出错 :

javascript - 具有特定值的 Mongoose 模式属性