Filtr Cannny – Wikipedia

before-content-x4

W stylu Wikipedii, darmowe L’Encyclopéi.

Wynikowy obraz zastosowania filtra Caniare

. Sprytny filtr (lub detektor cania) jest używany w przetwarzaniu obrazu do wykrywania konturów. Algorytm został zaprojektowany przez Johna Cania w 1986 roku jako optymalny zgodnie z trzema wyraźnie wyjaśnionymi kryteriami:

  1. Dobre wykrywanie : niski poziom błędu w sygnalizacji konturów,
  2. dobra lokalizacja : Minimalizacja odległości między wykrytych konturów i realnych konturów,
  3. Jasność odpowiedzi : Tylko jedna odpowiedź na zarys i brak fałszywie pozytywnych

Redukcja szumów [[[ modyfikator |. Modyfikator i kod ]

Zdjęcie uzyskane po zastosowaniu gaussowskiego rozmycia 5×5.

Pierwszym krokiem jest zmniejszenie szumu oryginalnego obrazu przed wykryciem konturów. To eliminuje izolowane piksele, które mogą wywoływać silne odpowiedzi przy obliczaniu gradientu, co prowadzi do fałszywych pozytywów.

Używane jest filtrowanie Gaussa 2D (patrz artykuł Wygładzanie obrazu ), który tutaj jest operatorem splotu:

i przykład dyskretnej maski 5 × 5 z σ = 1,4:

Zwykle filtr jest mniejszy niż filtrowany obraz. Im większa maska, tym mniej wrażliwa detektor, tym bardziej rośnie błąd lokalizacji.

Intensywność [[[ modyfikator |. Modyfikator i kod ]

Po filtrowaniu następnym krokiem jest zastosowanie gradientu, który zwraca intensywność konturów. Zastosowany operator umożliwia obliczenie gradientu zgodnie z kierunkami x i y, składa się z dwóch masek splotu, jednego o wymiarach 3 × 1, a pozostałe 1 × 3:

Wartość gradientu w punkcie podchodzi formuła:

a dokładna wartość to:

Departament konsturów [[[ modyfikator |. Modyfikator i kod ]

Orientacje konturów są określone przez formułę:

W końcu otrzymujemy mapę gradientów intensywności w każdym punkcie obrazu, które towarzyszą kierunki konturów.

Usunięcie nie-maksyma [[[ modyfikator |. Modyfikator i kod ]

Uzyskana wcześniej mapa gradientu zapewnia intensywność w każdym punkcie obrazu. Wysoka intensywność wskazuje na wysokie prawdopodobieństwo obecności konturu. Jednak intensywność ta nie wystarczy, aby zdecydować, czy punkt odpowiada zarysowi, czy nie. Tylko punkty odpowiadające lokalnym maksimum są uważane za odpowiadające konturom i są przechowywane na następnym etapie wykrywania.

Lokalne maksimum jest obecne na ekstremie gradientu, to znaczy, gdzie jego pochodna zgodnie z liniami polowymi gradientu jest anulowane.

Truszcz w konturach [[[ modyfikator |. Modyfikator i kod ]

Różnicowanie konturów na wygenerowanej mapie odbywa się za pomocą progu histerezy.

Wymaga to dwóch progów, wysokiego i jednego dna; które zostaną porównane z intensywnością gradientu każdego punktu. Kryterium decyzyjne jest następujące. Dla każdego punktu, jeśli intensywność jego gradientu wynosi:

  • Niższy niż niski próg punkt jest odrzucany;
  • Wyższy niż wysoki próg, punkt jest akceptowany jako tworzenie konturu;
  • Pomiędzy niskim progiem a wysokim progiem punkt jest akceptowany, jeśli jest on podłączony do już zaakceptowanego punktu.

Po tym, jak to się stanie, uzyskany obraz jest binarny z z jednej strony piksele należące do konturów i innych.

Ustawienia [[[ modyfikator |. Modyfikator i kod ]

Dwa główne parametry określające czas obliczeń i ostrość algorytmu to rozmiar filtra Gaussa i dwa progi.

  • Rozmiar filtra: Filtr zastosowany podczas zmniejszania szumu ma bezpośredni wpływ na zachowanie algorytmu. Mały filtr wytwarza mniej wyraźny efekt rozmycia, który umożliwia wykrycie małych dobrze znanych linii. Filtr o większym rozmiarze powoduje większy niejasny efekt, co umożliwia wykrycie mniej wyraźnych konturów, na przykład tęczy.
  • Progi: Zastosowanie dwóch progów zamiast poprawy elastyczności, ale pozostają pewne problemy specyficzne dla progu. Zatem zbyt niski próg może prowadzić do wykrycia fałszywych pozytywów. I odwrotnie, zbyt wysoki próg może zapobiec wykryciu małych zaznaczonych konturów, ale przedstawienie przydatnych informacji.

Obecnie nie ma ogólnej metody określenia progów, które dają zadowalające wyniki na wszystkich typach obrazów. Istnieją jednak metody statystyczne automatycznego uzyskania wartości odpowiedniego wysokiego progu (CH HO), przy czym wartość niskiego progu stanowi procent wysokiego progu.

Powiązane artykuły [[[ modyfikator |. Modyfikator i kod ]

Linki zewnętrzne [[[ modyfikator |. Modyfikator i kod ]

after-content-x4