类似于生成空差异图像的js

时间:2016-04-22 20:53:14

标签: javascript node.js resemblejs

我正在尝试比较2个图像,并使用node-resemble-js突出显示第三个图像的差异。

尝试以下代码:

var imgData1 = 'C:\\Users\\Image1.png';
var imgData2 = 'C:\\Users\\Image2.png';

var diffImage = 'C:\\Users\\';

    resemble(imgData1).compareTo(imgData2).ignoreNothing().onComplete(function (data) {

        data.getDiffImage().pack().pipe(fs.createWriteStream( diffImage + 'diff.png'));
        console.log(data);
    })

但是,获得一个空的'diff'图像。 日志显示2个图像不同:

{ isSameDimensions: true,
  dimensionDifference: { width: 0, height: 0 },
  misMatchPercentage: '0.73',
  analysisTime: 143,
  getDiffImage: [Function] }

不知道我在这里缺少什么,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我的代码略有不同,它对我有用:

var fs = require('fs'); 
var resemble = require('node-resemble-js');

var img1 = fs.readFileSync('./img1.png');
var img2 = fs.readFileSync('./img2.png');

resemble(img1).compareTo(img2).ignoreNothing().onComplete(function (data) {
    data.getDiffImage().pack().pipe(fs.createWriteStream( './diff.png'));
    console.log(data);
});

这可以做它应该做的事情。希望有所帮助。