2016-04-22 33 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); 
}); 

這做什麼它應該做的。希望有所幫助。