php とGraphic Draw (GD) Libraryを使用して 2 つの画像を比較する最良の方法は何ですか?
これはシナリオです:
画像があり、特定のセットのどの画像がそれに最も似ているかを見つけたいと考えています。最も類似した画像は、実際には同じ画像であり、ピクセル完全一致ではなく、同じ画像です。意味を理解しやすくするために、例の番号 1 を使用して 2 つの画像の違いを脚色しました。
一貫した結果は得られませんでしたが、私のアプローチは、imagecopyresampled関数を使用して画像を 1 ピクセルに縮小し、画像間の RGB 値がどれだけ近いかを確認することでした。
可能な一致の赤、緑、青の 10 進相当値から赤、緑、青の 10 進相当値を差し引いた値の合計は、非類似度指数を与えてくれました。ほとんどの RGB 類似画像がターゲット画像であり、使用可能なターゲットから画像を選択するために使用できました。
4 つの画像をターゲット画像 (この場合はリンゴのロゴ) と比較した場合の出力のサンプルを次に示します。この画像はそれらの 1 つに一致しますが、完全には同じではありません。
元の画像:
比較対象:
http://a1.twimg.com/profile_images/571171388/logo-twitter_normal.png 赤:183 緑:212 青:212 類似度指数 56
赤:117 緑:028 青:028 と非類似度 530 のインデックス
赤:218 緑:221 青:221 と非類似度13 の指標が正しく一致しました。
赤:061 緑:063 青:063 と非類似度の指標 491
私がすでに得ているものよりも良い結果を出すことさえできないかもしれませんし、私はここで時間を無駄にしていますが、経験豊富なphpプログラマーがたくさんいるように見えるので、改善方法について正しい方向に私を向けることができると思います.これ。
iMagick、Gmagick、Cairo for phpなどの他の画像ライブラリを使用できますが、php 以外の言語の使用は避けたいと思います。
前もって感謝します。