アプリケーションのスクリーンショットを撮り、正確な画像が以前に見られたかどうかを検出しようとしています。ささいな変更を異なるものとして検出しようとしています-たとえば、画像にテキストがあり、スペルが変更されている場合、それは不一致としてカウントされます。
スクリーンショット画像のコンテンツの MD5 ハッシュを使用して、既知の画像のデータベースを検索し、それが以前に見られたかどうかを検出することに成功しました。
今、私はそれを別のマシンに移植しました。構成を正確に一致させようとしたにもかかわらず、古いマシンとはわずかに異なるイメージを取得しています. 違うと言うと微妙な変化で、古い画像と新しい画像を引き延ばしてフリックしてみても、違いは一つも分かりません!それにもかかわらず、ImageMagick のcompare
コマンドは、異なるピクセルの散らばりを見ることができます。
そのため、MD5 ハッシュが一致しなくなりました。単純な MD5 ハッシュではなく、イメージ ハッシュが必要です。
調査を行ったところ、ほとんどの画像ハッシュはかなり寛大にしようとしていることがわかりました。サイズ変更、変換、透かしが入った画像を受け入れ、対応する偽陽性の一致があります。はるかに厳密な画像ハッシュが必要です。許可される変更は、色のわずかな変更のみです。
画像ハッシュ ライブラリまたはアルゴリズムを推奨できる人はいますか? ( dupdetectorのようなアプリケーションではありません)。
覚えておいてください:私の要件は、縮小やpHashのようなリベラルなアルゴリズムが必要ないという点で、多くの同様の質問とは異なります。また、構造的類似性やImageMagick の比較のような比較ツールも必要ありません。
非常によく似た画像に同じハッシュ値を与えるハッシュが必要です。それは可能ですか?