2013-08-29 37 views
12

2つの画像を比較してどれほど似ているかを探しています。グーグルでは、画像処理結果(切り取り、サイズ変更など)が数多く生成されますが、画像のおおよその比較はありません。 1つのNode.jsライブラリがありますが、バージョンは0.0.1で、さまざまなサードパーティのシステムパッケージに依存しているため、安定性や移植性はありません。これらの線に沿ってNode.jsを使用して2つの画像を比較する方法

何か:

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

答えて

3
+0

ありがとうございます。有望です。 – SergeyB

+0

私はまだそれを動作させなかったので、最新の状態に保ってください:)。 – Dan

+0

"bin/imagediff"でlibを使用する方法の例があります。キャンバスモジュールの保存版をimagediffとして使用すると、最新のものと互換性がないようです。 canvasとcairoのインストール方法のマニュアルを読んでください。私は私のPATHにフォルダを追加する必要があることを逃したので、私は長い時間立ち往生した。 – luff

6

もそれはユーバーによって作られて、非常に有望に見えるimage-diffがあるために有用である可能性があるこのライブラリを、発見しました。

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

これは画像を同一にする必要がありますか?私は2つの画像が似ているかどうか比較することを探しています。すなわち、同じ建物の同じ写真ですが、同じ写真ではないためにわずかに異なります。 – chovy

+0

fwiw、image-diffは、imagemagick/graphicsmagickの 'compare'ツールの周りの薄いラッパーです。 – mrm

+0

[look-sa​​me](https://github.com/gemini-testing/looks-same)と[pixelmatch](https://github.com/mapbox/pixelmatch)を推奨しません。 – krulik

関連する問題