如何用 JavaScript 修复图像透视变形和旋转?

2024-05-23

我有一些用手机拍摄的图像。有没有可以拉直纸张照片并将其压平的 JavaScript 库?例如,我想创建一个矩形图像,该图像没有任何失真。

换句话说我想知道如何用 JavaScript 修复透视变形和旋转?

例如,我发现下面的示例图像来自this http://www.codeproject.com/Articles/1022338/Scan-Anything-Anywhere-Any-Time文章:

如何用javascript修复这种类型的图像?


不需要任何额外的 npm 包,这可以通过创建一个不规则的裁剪框来实现,首先将图像加载到画布中,应该在图像上调整 4 个裁剪点,将部分放入规则的矩形画布中。

点击此链接获取详细代码和步骤使用 javascript 和 opencv 进行图像透视校正 http://www.recompile.in/2019/11/image-perspective-correction-using.html

这是演示

let dst = new cv.Mat();
let dsize = new cv.Size(imageHeight, imageWidth);
let srcTri = cv.matFromArray(4, 1, cv.CV_32FC2, pointsArray);
let dstTri = cv.matFromArray(4, 1, cv.CV_32FC2, [0, 0, imageHeight, 0, imageHeight, imageWidth, 0, imageWidth]);
let M = cv.getPerspectiveTransform(srcTri, dstTri);
cv.warpPerspective(src, dst, M, dsize, cv.INTER_LINEAR, cv.BORDER_CONSTANT, new cv.Scalar());
document.getElementById('imageInit').style.display = "none"
cv.imshow('imageResult', dst);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用 JavaScript 修复图像透视变形和旋转? 的相关文章