Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] porównywanie grafiki ( obrazów )
Cienki1980
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

Ostrzeżenie: (0%)
-----


Witam.
Ponieważ nigdy nie zagłębiałem się w tajniki biblioteki GD a teraz bym potrzebował chciałbym się was poradzić co do kwesti porównywania grafiki.
Założenie jest następujące.

Zostaje wprowadzone zdjęcie termowizyjne i należy je porównać z bazą zdjęć i znaleźć najbardziej zbliżone.
Zdjęcie wprowadzone i zdjęcia wzorcowe są tego samego formatu, tej samej rozdzielczości.


Sprawdzanie pixel po pixelu zbytnio nic nie da, a nie znalazlem żadnej funkcji w GD która porównywałaby dwa podane obrazy.

Macie jakieś pomysły (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował Cienki1980 15.01.2007, 09:46:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
php programmer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


A może takie coś:

zakładamy że każdy z obrazów ma 256 kolorów,
zakładasz dwie tablice 256 elentowe,
jedziesz pętlą po każdym pixelu
najpierw pierwszego obrazka, potem drugiego,
sprawdzasz jaki ma kolor (czyli temperaturę),
jeśli ma kolor o numerze np 100
to zwiększasz wartość w tablicy na indeksie 100, etc
to samo robisz z drugim zjęciem i drugą tablicą,

następnie w pętli od 0 255 sprawdzasz
odpowiadające sobie indeksy w obu tablicach
jeśli różnica między nimi jest nie mniejsza niż np 2 (tolerancja)
to zwiększasz o jeden zmienną o nazwie $podobieństwo
jeśli po przejściu całej pętli (czyli do 256)
zmienna $podobieństwo osiągnie jakąś tam wartość
graniczną (np 200) to uznajesz że zdjęcie jest podobne

Stopień podobieństwa zależy od tego jaką ustalisz tolerancję
oraz wartość minimalną dla zmiennej wskazującej na $podobieństwo

Ten post edytował php programmer 11.01.2007, 21:25:55
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 04:36