Nie znam Mathematiki. . . szkoda. Ale w większości podoba mi się powyższa odpowiedź.
Nadal istnieje poważna wada polegania na samych paskach , aby uzyskać odpowiedź (osobiście nie mam problemu z jedną ręczną regulacją). Jest to przykład (wymienione Brett Champion o ) przedstawiono w którym pokazano, że czasami przerywają wzór koszuli. Zatem staje się bardziej złożonym wzorcem.
Spróbowałbym podejścia do identyfikatora kształtu i kolorów oraz relacji przestrzennych. Podobnie jak rozpoznawanie twarzy, możesz szukać wzorów geometrycznych w określonych proporcjach od siebie. Zastrzeżenie polega na tym, że zwykle jeden lub więcej z tych kształtów jest zasłonięty.
Uzyskaj balans bieli na obrazie, a czerwony - balans czerwony na obrazie. Uważam, że Waldo ma zawsze tę samą wartość / odcień, ale obraz może pochodzić ze skanu lub złej kopii. Następnie zawsze odwołuj się do tablicy kolorów, którą faktycznie jest Waldo: czerwony, biały, ciemnobrązowy, niebieski, brzoskwiniowy, {kolor buta}.
Jest wzór koszuli, a także spodnie, okulary, włosy, twarz, buty i czapka, które definiują Waldo. Ponadto, w porównaniu do innych osób na zdjęciu, Waldo jest chudy.
Znajdź przypadkowych ludzi, aby uzyskać wzrost osób na tym zdjęciu. Zmierz średnią wysokość wiązki rzeczy w losowych punktach obrazu (prosty kontur da całkiem sporo pojedynczych osób). Jeśli każda rzecz nie mieści się w jakimś standardowym odchyleniu od siebie, na razie są one ignorowane. Porównaj średnią wysokości z wysokością obrazu. Jeśli stosunek jest zbyt duży (np. 1: 2, 1: 4 lub podobnie zamknięty), spróbuj ponownie. Uruchom to 10 (?) Razy, aby upewnić się, że próbki są całkiem blisko siebie, z wyłączeniem jakiejkolwiek średniej, która jest poza pewnym odchyleniem standardowym. Możliwe w Mathematica?
To jest twój rozmiar Waldo. Walso jest chudy, więc szukasz czegoś 5: 1 lub 6: 1 (lub cokolwiek) ht: wd. To jednak nie wystarczy. Jeśli Waldo jest częściowo ukryty, wysokość może się zmienić. Więc szukasz bloku czerwono-białego, który ~ 2: 1. Ale musi być więcej wskaźników.
- Waldo ma okulary. Wyszukaj dwa okręgi 0,5: 1 nad czerwono-białym.
- Niebieskie spodnie. Każda ilość niebieskiego na tej samej szerokości w dowolnej odległości między końcem czerwono-białym a odległością do jego stóp. Pamiętaj, że nosi krótką koszulę, więc stopy nie są zbyt blisko.
- Kapelusz Czerwono-biała w dowolnej odległości do dwukrotności czubka głowy. Pamiętaj, że musi mieć ciemne włosy poniżej i prawdopodobnie okulary.
- Długie rękawy. czerwono-biały pod pewnym kątem od głównego czerwono-białego.
- Ciemne włosy.
- Kolor buta. Nie znam koloru.
Każdy z nich może mieć zastosowanie. Są to również kontrole negatywne w stosunku do podobnych osób na zdjęciu - np. # 2 neguje noszenie czerwono-białego fartucha (zbyt blisko butów), # 5 eliminuje jasne włosy. Również kształt jest tylko jednym wskaźnikiem dla każdego z tych testów. . . sam kolor w określonej odległości może dać dobre wyniki.
To zawęzi obszary do przetworzenia.
Przechowywanie tych wyników wytworzy zestaw obszarów, w których powinien znajdować się Waldo. Wyklucz wszystkie pozostałe obszary (np. Dla każdego obszaru wybierz krąg dwa razy większy niż średni rozmiar osoby), a następnie uruchom proces, który @Heike określił, usuwając wszystkie oprócz czerwonego i tak dalej.
Masz jakieś przemyślenia na temat tego, jak to kodować?
Edytować:
Myśli, jak to zakodować. . . wyklucz wszystkie obszary oprócz Waldo czerwonego, szkieletuj czerwone obszary i przycinaj je do jednego punktu. Zrób to samo dla włosów brązowych Waldo, niebieskich spodni Waldo, koloru butów Waldo. W przypadku koloru skóry Waldo wyklucz, a następnie znajdź kontur.
Następnie wyklucz inne niż czerwone, rozszerz (wszystkie) wszystkie czerwone obszary, a następnie szkieletuj i przycinaj. Ta część da listę możliwych punktów środkowych Waldo. Będzie to marker do porównania wszystkich innych sekcji kolorów Waldo.
Stąd, używając szkieletowych czerwonych obszarów (nie rozszerzonych), policz linie w każdym obszarze. Jeśli jest poprawna liczba (cztery, prawda?), Jest to z pewnością możliwy obszar. Jeśli nie, wydaje mi się, że po prostu go wykluczam (ponieważ jest to ośrodek Waldo… może to być jego kapelusz).
Następnie sprawdź, czy powyżej znajduje się kształt twarzy, punkt włosów powyżej, spodnie poniżej, buty poniżej itd.
Nie ma jeszcze kodu - nadal czytam dokumenty.