8

解像度の異なる 2 つの画像を比較することはできますか?

ここでは、アルゴリズム/プログラミングのアプローチを意味します。たとえば、画像のバイト配列からハッシュ コードを計算し、これらのハッシュ コード値を比較します。それはうまくいきますが、解像度が異なる場合は失敗します。つまり、画像は見た目は同じです、バイトコンテンツが異なります。

たとえば、私の画像が添付されているのを見てください:
ここに画像の説明を入力ここに画像の説明を入力

そのうちの 1 つは72 ppiですが、別の96 ppiです。同等性を比較するときにTRUE値を取得したいのですが、今はFALSEになります。ここで正しい解決策を見つけるのを手伝ってください。

4

2 に答える 2

6

より複雑な領域に足を踏み入れる前に試してみることができる2つの非常に単純な知覚ハッシュ法は、離散コサイン変換と画像のローカル対グローカル平均に基づいています。

  1. 画像をグレースケールに変換する

    1.1(編集)画像を平均ゼロにする

  2. 画像をサムネイルサイズに縮小します。たとえば、[32x32]
  3. 2次元離散コサイン変換を実行します
  4. 左上[8x8]、最も重要な低周波成分を維持します
  5. コンポーネントの符号に基づいて、ブロックを2値化します
  6. 結果は64ビットハッシュです

そして、このテーマの変種は

  1. 画像をグレースケールに変換する
  2. オプションで、事前定義されたサイズにサイズ変更します。
  3. 画像を固定数のブロックに分割します
  4. グローバル平均を決定する
  5. ブロックごとのローカル平均を決定します
  6. ハッシュの場合、ローカル平均がグローバル平均よりも大きいか小さいかを保留して、ブロックごとに1または0を書き出します。

また、phashもご覧ください。

于 2012-04-14T17:47:08.943 に答える
4

いくつかの異なる色を含む合成画像の場合、ヒストグラム マッチングから始めます。

基本的に、各画像の各色のピクセル数を合計し、ピクセルの総数で割ります。次に、フィンガープリントとして単純なフロート ベクトルを取得します。境界線が多いまたは少ない画像を一致としてカウントする場合は、白を無視できます

スライスが再配置された同じ画像を検出したり、テキストが行を下に移動したりすることはありませんが、この場合は問題ではないと思います

于 2012-04-14T15:26:00.493 に答える