![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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.
|
|
|
![]()
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.
|
|
|
![]()
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?
|
|
|
![]()
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ć. |
|
|
![]()
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?
|
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
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
|
|
|
![]()
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 |
|
|
![]()
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?? |
|
|
![]()
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 |
|
|
![]()
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 ... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 08:54 |