Po prostu burza mózgów niektórych możliwych podejść.
Template Matching
A metodę brute-force byłoby mieć bitmapę, co znak rejestracyjny powinien wyglądać. Następnie, dla każdego możliwego prostokąta na obrazku, który ma taką samą szerokość i wysokość jak szablonowa bitmapa, porównujesz piksele obrazu z pikselami szablonu. Jeśli większość pasujących pikseli pasuje do siebie, prawdopodobnie znalazłeś znak rejestracyjny. Jest to bardzo intensywne obliczeniowo, ponieważ trzeba zeskanować wszystkie możliwe pozycje, obroty, współczynniki skali itp. Możesz zredukować to, wykorzystując rzeczy, które znasz. Na przykład twój znak rejestracyjny jest symetryczny, więc nie musisz sprawdzać wszystkich możliwych obrotów. Być może znasz dokładną wielkość znaku, a tym samym unikniesz iteracji na różne czynniki skali. Na koniec możesz wiedzieć, że znaki rejestracyjne powinny znajdować się w pobliżu narożników, przez co możesz przeskoczyć przez większość środka obrazu.
ciekawostki
Znajdź sposób zidentyfikować „ciekawe punkty” w obrazie. Na przykład punkty, które wydają się być w środku przecięcia, można znaleźć, wykonując splot z małym jądrem, który wzmacnia piksele, które mają pasujące piksele w głównych kierunkach, a następnie proguje wynik. Daje to listę pikseli, które wydają się być punktami przecięcia (może być trochę szumu). Możesz przeszukać ten podzbiór współrzędnych dla "konstelacji", która wygląda jak pięć punktów przecięcia w twoim znaku rejestracyjnym. Może być konieczne zastosowanie dopasowania szablonów w celu znalezienia najbardziej prawdopodobnych pozycji, ale znacznie zmniejszyłoby to liczbę lokalizacji, obrotów i współczynników skalowania, które w innym przypadku trzeba by wypróbować.
Detection Feature
Istnieją algorytmy wykrywania linii, wykrywanie okręgu, itp może być w stanie uruchomić kilka z nich, a następnie szukać połączenia dwóch odcinków przejście wewnątrz okręgu. Może to być najsolidniejszy sposób, ale prawdopodobnie najtrudniej jest uzyskać pracę.
Niektóre etapy przetwarzania wstępnego, takie jak detektory krawędzi natarcia, progowania lub rozszerzania oraz filtry erozji, mogą również pomóc, jeśli obrazy nie są naprawdę czyste.
Wiem, że wiele SDK obrazowania tym LEADTools mają to wbudowane w. Nie wiem, jak wdrożyć go samodzielnie, ale myślę, że zrobię algorytm detekcji poziomej linii (w X stopni), a linia pionowa algorytm wykrywania, a następnie sprawdź wszystkie możliwe punkty + za 90-procentowy ciąg. http://www.leadtools.com/help/leadtools/v15/main/api/dllsteps/detectingregistrationmarks.htm –
Hmm, nie jestem ekspertem, ale to nie jest znakiem upraw, jest to znak dla wyrównania drukarka do użycia podczas drukowania w 4 kolorach. Znaczniki przycięcia są prostymi liniami prostymi. – mj2008
Warren P: Dzięki za link i sugerowaną metodę. Jestem otwarty na komercyjną bibliotekę, jeśli tego właśnie potrzeba. Mam również możliwość zmiany używanego symbolu, więc produkt LeadTools może być realnym rozwiązaniem. –