2013-08-29 14 views
12

Sto cercando un modo per confrontare due immagini per vedere quanto sono simili. Googling produce tonnellate di risultati di elaborazione delle immagini (ritaglio, ridimensionamento, ecc.), Ma nulla che farebbe confronti approssimativi di immagini. Esiste una libreria Node.js, ma è la versione 0.0.1 e si basa su vari pacchetti di sistema di terze parti, quindi non stabile o portatile.Come confrontare due immagini utilizzando Node.js

Qualcosa in questo senso:

var imgComparator = require('some-awesome-image-comparator-module'); 
// result would be between 1.0 and 0.0, where 1.0 would mean exact match 
var result = imgComparator.compare('/path/to/image/1.png', '/path/to/image/2.png'); 

risposta

3

ho trovato questa biblioteca, che può essere utile per voi

https://github.com/HumbleSoftware/js-imagediff

+0

grazie per il collegamento, sembra promettente. – SergeyB

+0

Ti prego, tienimi aggiornato, perché non l'ho ancora fatto funzionare :). – Dan

+0

C'è un esempio di come usare la lib in "bin/imagediff". Usa la versione di salvataggio del modulo canvas come imagediff, la più recente sembra essere incompatibile. Leggi il manuale su come installare canvas e cairo. Sono rimasto bloccato a lungo perché mi mancava il fatto che avevo bisogno di aggiungere una cartella al mio PERCORSO. – luff

6

C'è anche image-diff che sembra molto promettente, è fatto da Uber.

var imageDiff = require('image-diff') 

imageDiff({ 
    actualImage: 'checkerboard.png', 
    expectedImage: 'white.png' 
}, function (err, imagesAreSame) { 
    // error will be any errors that occurred 
    // imagesAreSame is a boolean whether the images were the same or not 
    // diffImage will have an image which highlights differences 
}) 
+2

richiede che le immagini siano identiche? Sto cercando di confrontare se due immagini sono simili. vale a dire: stessa foto dello stesso edificio, ma leggermente diversa perché non è la stessa foto. – chovy

+0

fww, image-diff è un sottile involucro attorno allo strumento 'compare' di imagemagick/graphicsmagick. – mrm

+0

Deprecato in favore di [look-same] (https://github.com/gemini-testing/looks-same) e [pixelmatch] (https://github.com/mapbox/pixelmatch). – krulik