Node.js 从图像中读取数据并在节点js中裁剪图像的某些部分
我的客户要求用户使用该图像上传图像,我必须读取数据并裁剪图像的某些部分。我可以使用节点模块从图像中读取数据。裁剪部分也是这样做的,它只适用于某些图像,而不适用于所有图像。下面是获取数据表单图像的代码Node.js 从图像中读取数据并在节点js中裁剪图像的某些部分,node.js,machine-learning,automation,ocr,Node.js,Machine Learning,Automation,Ocr,我的客户要求用户使用该图像上传图像,我必须读取数据并裁剪图像的某些部分。我可以使用节点模块从图像中读取数据。裁剪部分也是这样做的,它只适用于某些图像,而不适用于所有图像。下面是获取数据表单图像的代码 const Tesseract = require("tesseract.js"); Tesseract.recognize("./pancard.jpg", "eng", { logger: m => console.log(m) }).then(({ data: { text } }
const Tesseract = require("tesseract.js");
Tesseract.recognize("./pancard.jpg", "eng", {
logger: m => console.log(m)
}).then(({ data: { text } }) => {
console.log(text);
});
对于裁剪图像,我使用夏普节点模块。下面的代码主要是在调整图像大小后调整图像大小,裁剪出特定的数据
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,您可以提供一个视图框来裁剪图像,但如果提供的图像是旋转的,您的代码将无法用于第一个图像。我认为您需要某种类似opencv的ml驱动库,或者将viewbox设置得足够大以捕获签名。如果印度政府ID上的签名面板总是在同一个位置,只裁剪同一个viewbox不是更容易吗?而不是试图检测viewbox。这将是我的MVP,如果以后需要动态,那么它需要某种计算机视觉库,能够将签名与ID的其他部分区分开来。图像包含真实人物的个人数据。请模糊个人可识别数据。@AbhikSarkar图像已经出现在谷歌上。