5

Moim celem jest dostarczenie 2 plików graficznych i uzyskanie odpowiedzi prawdziwej/fałszywej, czy te 2 pliki mogą być takie same (w akceptowalnym stopniu pewności).Programowanie porównawcze obrazów - lib lub klasa

Zdaję sobie sprawę, że to pytanie podlega sztucznej inteligencji i jest o wiele bardziej skomplikowane, niż się wydaje, więc wątpię, czy mógłbym (lub chciałbym) zrobić to sam. To, czego szukam, to prawdopodobnie biblioteka lub klasa. Pracuję z PHP.

góry dzięki ..

Wszystkie pomocne odpowiedzi/komentarze wstać głosowali ..

Aktualizacja:

Zastanawiam się, czy jestem nadmiernie komplikuje to, a może bardziej ogólna biblioteka jak imageMagick (imagick) może to zrobić? Ktoś, kto ma większe doświadczenie z imageMagick?

+0

Co znaczy "przez to samo"? W szczególności, masz na myśli dokładnie to samo, te same piksele, itp; lub wyglądają podobnie podczas oglądania przez osobę; czy coś pomiędzy nimi? – tom10

+0

To samo może być dla moich celów; Obraz 1 to tylko kadr obrazu 2, obraz 2 z kilkoma kolorami zmienionymi, obraz 2 ponownie lub podobne modyfikacje. Moje potrzeby są czymś więcej, ale rozwiązanie tych problemów może być dobrym początkiem. – Chris

+0

OK, wydaje się dość trudne, i prawdopodobnie będziesz potrzebować poważnego narzędzia lub sprytnego algorytmu (takiego jak sugerował Pascal Martin), aby to zadziałało. (Ale nawet wtedy nie wydaje się, żeby libpuzzle algo działało dla przyciętych obrazów.) – tom10

Odpowiedz

1

http://tineye.com/ może być przydatne, jeśli jesteś po prostu porównując własne obrazy.

Najprawdopodobniej powinieneś przeprowadzić badania algorytmów podobieństwa obrazów, choć wszystko, co jest zaawansowane, nie pasuje do języka skryptowego, takiego jak PHP. Najprostsza metoda porównywania działałaby w następujący sposób:

  1. Uczyń oba obrazy tego samego rozmiaru, jeśli jeszcze nie są.
  2. Porównaj każdy odpowiadający piksel i zadecyduj, jakie są podobne. Najprostszą metodą jest wybranie różnicy między czerwonymi wartościami, następnie niebieskimi wartościami, a następnie zielonymi wartościami i ich średnią.
  3. Weź średnią różnicę od wszystkich pikseli. Jeśli jest poniżej pewnego progu, decydujesz, to obrazy są takie same lub podobne. Aby ustalić próg, musisz przetestować różne obrazy.

Nie jestem w pełni zaznajomiony z funkcjami obrazu ImageMagick i PHP, więc nie jestem pewien, czy możesz to wszystko zrobić.

+0

Dzięki za odpowiedź. Popatrzy na zęby. – Chris

+0

Właściwie teraz, kiedy spojrzałem na to zęby, brzmi jak przyzwoicie dla tego, czego potrzebuję. Myślę, że pójdę z robieniem tej części przez nich. Jedyne czego życzyłem, to że mają API do automatyzacji. – Chris

5

I nie spróbować, ale może Libpuzzle może rade (cytowanie):

Biblioteka logiczne jest przeznaczony do szybko znaleźć wizualnie podobnych obrazów (GIF, PNG, JPG), nawet jeśli mają one zmienioną, ponownie skompresowaną, ponownie kolorowaną lub nieznacznie zmodyfikowaną.

Jest to biblioteka języka C, ale jest również dostępna pod numerem za pomocą narzędzia wiersza polecenia i powiązań PHP .

I jest przykład w PHP there.

(wydaje się być rozszerzenie PHP - co oznacza, że ​​trzeba być administratorem serwera, aby móc go zainstalować)

Powiązane problemy