Porównanie obrazów z php + gd

Jakie jest najlepsze podejście do porównywania dwóch obrazów z php iBiblioteka Draw Draw (GD)?

Oto scenariusz:

alt tekst http://img262.imageshack.us/img262/4849/imagecomparison.jpg

Mam obraz i chcę sprawdzić, który obraz danego zestawu jest najbardziej podobny do niego. Najbardziej podobny obraz jest w rzeczywistości tym samym obrazem, a nie dopasowanym pikselem, ale tym samym obrazem. Udramatyzowałem różnicę między dwoma obrazami numerem jeden na przykładzie, aby ułatwić zrozumienie tego, co miałem na myśli.

Mimo że nie przyniosło to spójnych wyników, moim podejściem było zredukowanie obrazów do 1px za pomocązinterpretowany z wyobraźnią funkcja i zobaczyć, jak blisko wartości RGB między obrazami.

Suma wartości odejmowania każdej czerwonej, zielonej i niebieskiej wartości równoważnika dziesiętnego od czerwonej, zielonej i niebieskiej wartości równoważnika dziesiętnego możliwego dopasowania dała mi indeks podobieństwa, który mimo że nie działał zgodnie z oczekiwaniami odnie zawsze najbardziej podobnym obrazem RGB był obraz docelowy, którego można użyć do wybrania obrazu z dostępnych celów.

Oto przykład danych wyjściowych podczas porównywania 4 obrazów z obrazem docelowym, w tym przypadku z logo Apple, które pasuje do jednego z nich, ale nie jest dokładnie takie samo:

Oryginalny obraz:

http://www.lshtm.ac.uk/its/remote/images/os-apple.png Czerwony: 222 Zielony: 226 Niebieski: 232

W porównaniu z:

http://a1.twimg.com/profile_images/571171388/logo-twitter_normal.png Czerwony: 183 Zielony: 212 Niebieski: 212 i wskaźnik podobieństwa 56

http://icons-search.com/img/fasticon/fruits_lnx.zip/fruits_lnx-Icons-48X48-apple.png-48x48.png Czerwony: 117 Zielony: 028 Niebieski: 028 i wskaźnik odmienności 530

http://www.1sd.org/wp-content/uploads/2008/10/48x48-apple.png Czerwony: 218 Zielony: 221 Niebieski: 221 i indeks odmienności13 Poprawnie dopasowane.

 Czerwony: 061 Zielony: 063 Niebieski: 063 i indeks odmienności 491

Może nawet nie da się zrobić lepiej z lepszymi wynikami niż to, co już dostaję i marnuję tutaj czas, ale ponieważ wydaje się, że jest wielu doświadczonych programistów php, myślę, że możesz wskazać mi właściwe wskazówki, jak poprawić to.

Jestem otwarty na inne biblioteki obrazów, takie jakiMagick, Gmagick lubKair dla php, ale wolałbym unikać używania innych języków niż php.

Z góry dziękuję.

questionAnswers(3)

yourAnswerToTheQuestion