2011-12-14 17 views
6

Próbuję wymyślić najlepszą metodę wykrywania prostokątów w obrazie.Jaka jest najprostsza * poprawna * metoda wykrywania prostokątów w obrazie?

Moja początkowa myśl polega na użyciu linii Hough transform i wybraniu kombinacji linii, w których dwie linie przecinają się zarówno w dolnej, jak iw górnej części przez te same dwie linie, ale nie jest to wystarczające.

Czy używałbyś corner detector wraz z transformacją Hough?

+0

Przez niewystarczającą, masz na myśli brak wydajności, prawda? To naprawdę zależy od twojej aplikacji - chyba że robisz to dla wideo w wysokiej rozdzielczości w czasie rzeczywistym, transformacja Hough może być wystarczająco dobra. – misha

Odpowiedz

5

Sprawdź /samples/c/squares.c w swojej dystrybucji OpenCV. Ten przykład dostarcza kwadratowego detektora i powinien być całkiem dobrym początkiem.

Moja odpowiedź: here ma również zastosowanie.

3

Nie sądzę, że obecnie istnieje prosta i niezawodna metoda wykrywania prostokątów w obrazie. Musisz radzić sobie z wieloma problemami, takimi jak prostokąty, które nie są dokładnie prostokątne, ale tylko w przybliżeniu, częściowymi okluzjami, zmianami oświetlenia itp.

Jednym z możliwych kierunków jest segmentacja obrazu, a następnie sprawdzenie, jak blisko jest każdy segment do bycia prostokątem. Ponieważ nie możesz zaufać swojemu algorytmowi segmentacji, możesz uruchomić go wiele razy z innymi parametrami.

Innym kierunkiem jest próba parametrycznego dopasowania prostokąta do obrazu w taki sposób, aby zmaksymalizować wielkość gradientu obrazu wzdłuż konturu.

Jeśli zdecydujesz się na podejście parametryczne, zwróć uwagę, że choć trywialnym sposobem sparametryzowania prostokąta jest lokalizacja jego czterech rogów, czyli 8 parametrów, istnieje kilka innych reprezentacji, które wymagają mniejszej liczby parametrów.

+0

dla prostego kształtu geometrycznego transformacja krzyża odpowiada na te punkty - w przypadku czegoś bardziej złożonego, jak twarz, jesteś dokładnie poprawny. –

+0

Właściwie zrobiłem trochę pracy na wykrywaniu prostokątów i napotkałem te problemy. Oczywiście, jeśli pracujesz z obrazami syntetycznymi, wtedy metoda Hough będzie działać cudownie, ale jeśli chcesz znaleźć prostokąty "na wolności", to zupełnie inna historia. –

Powiązane problemy