2016-04-22 61 views
2

我想要做2个图像的比较,并使用node-similar-js突出显示第三个图像中的差异。类似js生成空diff图像

尝试下面的代码:

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); 
    }) 

但是,得到一个空的“差异”的形象。 日志显示,2个图像是不同的:

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

不知道我是什么缺少在这里,任何帮助将不胜感激。

回答

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); 
}); 

这做什么它应该做的。希望有所帮助。