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 (1 - 11)
sebik
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.01.2007

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


witam, pisalem kiedys skrypty analizy obrazow termograficznych, ale to byly tylko zmiany geometryczne (skalowanie, przesuwanie itp) i rysowanie np. ROI w obrazie aby mozna bylo odczytac np. barwe-temperature. W kazdym razie robilem to piksel po pikselu. Nie wiem co chcesz porownywac, czy barwe, czy ksztalty ale w php to bedzie trwalo dluuugo. Ja robilem to na plikach png aby zachowac jakosc. Napisz dokladniej o co chodzi z tym porownaniem, moze bede mogl ci pomoc.
Go to the top of the page
+Quote Post
Cienki1980
post
Post #3





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

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


Sebik: dzięki za odpowiedź .. wysłałem PRIV'a. Może coś poradzisz.
Go to the top of the page
+Quote Post
sebik
post
Post #4





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 4.01.2007

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


nie rozumiem tylko co ma byc wynikiem tego porownania? jesli bedziesz porownywal zdjecia obiektu dla jego roznych stanow eksploatacyjnych to beda sie glownie roznily barwa, chcesz wyciagnac jakies wielkosci statystyczne na podstawie roznic w barwie?
Go to the top of the page
+Quote Post
Cienki1980
post
Post #5





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

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


Sebik: Porównanie ma mieć na celu tylko to, żeby wskazać do którego z obrazów wzorcowy jest podobny obraz badany.
Sytacja taka: Dodajesz obraz wzorcowy uszkodzeonego elementu wraz z opisem co jest uszkodzone. Tworzysz baze uszkodzeń wraz z naprawami. Potem skanujesz zdjęcie elementu, system porównuje obrazy i jeżeli znajdzie podobieństwo wyświetla sposób naprawy.
Prościej nie potrafię tego opisać.
Go to the top of the page
+Quote Post
cadavre
post
Post #6





Grupa: Zarejestrowani
Postów: 472
Pomógł: 7
Dołączył: 7.12.2005
Skąd: Gliwice

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


Czyli chcesz porównać kształt czy barwę? Czy oba?
Go to the top of the page
+Quote Post
Cienki1980
post
Post #7





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

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


Cytat(cadavre @ 11.01.2007, 19:19:37 ) *
Czyli chcesz porównać kształt czy barwę? Czy oba?

Tylko i wyłącznie barwę ... kształt elementu się nie zmieni, jedynie jego temperatura czyli barwa.
Oczywiście z jakąś tolerancją.
Go to the top of the page
+Quote Post
_KuRT_
post
Post #8





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 27.08.2006

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


tu chyba pomóc może tylko sztuczna inteligencja, a bliżej to Rozpoznawanie Obrazów
Go to the top of the page
+Quote Post
php programmer
post
Post #9





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
Cienki1980
post
Post #10





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

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


php programmer: całkiem słuszne rozwiązanie.

Ja właśnie wpadłem na pomysł żeby odwrócić kolory w jednym z obrazów ( albo wzorcowym , albo badanym ) i nałożyć je na siebie ... obrazy podobne powinny dać w wyniku cały czarny obraz ( plus minus jakieś niedoskonałości ).

Jeżeli będą jakieś różnice w obrazach, czarny kolor nie będzie występował w całym obrazie.

Dobrze kombinuje??
Go to the top of the page
+Quote Post
php programmer
post
Post #11





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

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


Możliwe, że masz racje,
ale musisz to sprawdzić w praktyce,
bo to już trudno określić jak to naprawdę bedzię,
zresztą to co podałem wyżej to też tylko takie spekulacje
wymyślone przed chwilą

Ten post edytował php programmer 11.01.2007, 23:05:11
Go to the top of the page
+Quote Post
Cienki1980
post
Post #12





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

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


W praktyce udało mi się osiągnąć zamierzony cel za pomocą odwracanych kolorów.

Jednak dalej szukam jakiegoś szybszego i może dokładniejszego sposobu.

Jeżeli ktoś ma jakąś koncepcje to z chęcią posłucham.

Podniosę wątek, może ktoś rzuci jakimś nowym pomysłem ...
Go to the top of the page
+Quote Post

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: 23.08.2025 - 08:54