2017-04-10 8 views
0

私のプロジェクトでImagemagickを使用しました。 ImageMagickのcompareコマンドを使ってサブ画像検出システムを実装しました。それは良い結果を与えるうまく動作しています。記事を読むことによって、私はImageMagickが大きな画像のピクセル内の可能なあらゆる位置で小さな画像のピクセルを比較することを知る必要があります。また、ImageMagickがFuzzy factorを使用して回転画像と拡大画像を検出することを知りました。アルゴリズムは、私はImageMagickのアルゴリズムに関連する記事を見つけることができませんでした動作します。この比較コマンドのアルゴリズムがどのように実際に動作するかについての考え方はありますか?Imagemagickの比較コマンドで使用されるアルゴリズム

答えて

1

ファジーファクタImageMagickは、2つのピクセルを比較して、同じ色のピクセルと見なすことができます。

これを理解するのは、赤、緑、青、シアン、マゼンタ、黄色、黒と白を頂点とするRGBカラーキューブを考えることです。 100%の毛羽立ち係数は、その立方体内で可能な最大の距離、すなわち黒から白への対角線の長さを表し、すべてはそれに対して相対的に縮尺される。この図に点線で示されています。一般に

enter image description here

255の絶対ファズ因子がすべての色が同じ(黒=白)であることを意味するので、私は、8ビットの画像に、パーセント値ではなく絶対値を使用してお勧め一方、16ビットの画像では、255で異なる2つの色を知覚することさえ困難です。

例として、単一の黒のピクセルが49%の単一の中間グレーのピクセルと同じかどうかを見てみましょうファズ:

compare -metric ae -fuzz 49% xc:black xc:gray null: 
1 

N o、それは異なっている、1ピクセルの違いがある。ここでもう一度、ピクセルが51%異なるがまだ一致するようにしてみましょう:

compare -metric ae -fuzz 51% xc:black xc:gray null: 
0 

これは同じと見なされます。

+0

ImageMagickの開発者がImageMagickで使用されているアルゴリズムについて直接的な研究論文を見つけることができませんでした。 ImageMagickで使われているアルゴリズムについての直接的な研究論文をどこから見つけることができるのでしょうか? – Sach

+0

そのようなアルゴリズムはありません。最初のイメージの各ピクセルは、指定された毛羽で、2番目のイメージの同じピクセルと比較されます。 '-metric ae'は、異なるピクセル数を示します。' RMSE 'などの他のメトリックも使用できます。 –

+0

他の指標については、http://www.imagemagick.org/Usage/compare/#statisticsを参照してください。 imagemagickの比較は、毛羽立ちを含むすべての指標の回転とスケールに敏感です。 xとyのオフセットを検索して最適な一致を探し、回転やスケール変更を検索しません。 – fmw42

関連する問題