比较node.js中的图像(使用例如opencv)
我想要做的是使用node.js获取图像差异。 最终,我想有一个方法,期望例如两个文件path或图像数据输出减法。 不知何故,像imagemagick中的比较function。
就像是:
var comparison_result = compareModule.compare('./image1.png', './image2.png');
此外,我想获得标记差异的结果图像中的斑点位置。
喜欢这个:
comparison_result.forEach(function(difference) { console.log("A difference occurred at " + difference.x + "|" + difference.y); });
我安装了node-opencv ,但是我找不到将基本opencv c ++函数映射到node.js的文档。 我想使用的function是cvSub 。
我想避免使用js-imagediff,因为它与canvas一起工作,对“cairo”有依赖性,我不确定是否可以访问这些点,因为在文档中它似乎只是将差异作为图像返回。
我从来没有试图通过cv::addWeighted()
来计算每个元素的差异,但它可能在实践中工作:
var diff = new cv.Matrix(first.width(), first.height()); diff.addWeighted(first, 1.0, second, -1.0);
在本机代码(C ++)中,可以用下面的expression式replace这个函数:
diff = first*1.0 + second*(-1.0) + 0.0;
ps:node-opencv的作者发布了一个测量相似度的示例代码:
node-opencv / examples / dissimilarity.js
- 如何比较图像,并确定哪些内容更多?
- Nodejs创build一个带有文本的PNG图像
- 如何做编程dynamic产品configuration器 – 图像生成器
- 无法将stream作为parameter passing给aspnet.core.NodeServices中的JS
- 使用imagemin压缩图像并存储在mongodb中
- graphicsMagick与节点 – 创build一个裁剪的缩略图,而不会降低图像质量
- 如何让我的Express应用程序尊重上传的Orientation EXIF数据?
- 我可以使用node-gm调整内存中的图像大小,还是需要先将其保存起来?
- 在Nodejs中使用gmresize和构图两个或多个图像