2 つの画像ファイルがファイル レベルで異なる場合がありますが、人間はそれらを知覚的に同一と見なします。それを踏まえて、画像の巨大なデータベースがあり、人間が画像 X がデータベースに存在すると考えるかどうかを知りたいとします。すべての画像に知覚ハッシュ/指紋がある場合、画像 X をハッシュすることができ、それがデータベースにあるかどうかを確認するのは簡単なことです。
この問題に関する調査があり、いくつかのアルゴリズムが存在することは知っていますが、アルゴリズムを最初から実装せずにそのようなハッシュを計算するために使用できる UNIX コマンド ライン ツールやライブラリなどのツールはありますか?
編集:ImageMagickを使用して、findimagedupesからの関連コード
try $image->Sample("160x160!");
try $image->Modulate(saturation=>-100);
try $image->Blur(radius=>3,sigma=>99);
try $image->Normalize();
try $image->Equalize();
try $image->Sample("16x16");
try $image->Threshold();
try $image->Set(magick=>'mono');
($blob) = $image->ImageToBlob();
編集:警告!ImageMagick の $image オブジェクトには、読み込まれた画像ファイルの作成時刻に関する情報が含まれているようです。これは、同じ画像であっても、異なる時刻に取得された場合、取得される blob が異なることを意味します。フィンガープリントが同じままであることを確認するには、最後のステップとして $image->getImageSignature() を使用します。