我的客户要求用户使用该图像上传图像,我必须读取数据并裁剪图像的某些部分。我可以使用 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) {});
});
上面的代码对于下面的图像工作正常,我能够获得该特定图像的签名。
基本上我想从该图像中裁剪签名。如果有人知道如何从哪里开始执行上述任务,请帮助我。
注意*:图片来自谷歌。
最佳答案
这一切都取决于图像,使用 Sharp,您可以提供一个 View 框来裁剪图像,但如果提供的图像旋转,您的代码也不适用于第一个图像。我认为您需要某种适合您的用例的机器学习驱动库,例如 opencv,或者将 View 框设置得足够大以捕获签名。
关于node.js - 在node js中读取图像数据并裁剪图像的某些部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60279513/