Operacje morfologiczne
Transkrypt
Operacje morfologiczne
Laboratorium: Cyfrowe przetwarzanie obrazów i sygnaªów Operacje morfologiczne 1 Cel i zakres ¢wiczenia Celem ¢wiczenia jest zapoznanie si¦ z wªasno±ciami prostych operacji morfologicznych: • zw¦»ania/erozji (erode), • rozszerzania/dylatacji (dilate), • otwarcia (open), • domkni¦cia (close) oraz sposobami ich wykorzystania do przetwarzania obrazów. 2 Przykªady Operatory morfologiczne wykorzystuj¡ tzw. element strukturalny (struc- turing element), który deniuje wielko±¢ i ksztaªt otoczenia (s¡siedztwa), w którym operacja jest wykonywana. W harpii mo»na okre±li¢ element strukturalny wyª¡cznie jako kwadrat o boku 3, 5 lub 7. Okna konguracji dla rozszerzania, zw¦»ania, otwarcia i domkni¦cia pozwalaj¡ te rozmiary ustawi¢ (rys. 1). Okna konguracji dla operacji rozszerzania i zw¦»ania pozwalaj¡ dodatkowo wybra¢ liczb¦ iteracji. Warto zauwa»y¢, »e operacje morfologiczne mog¡ by¢ wykonywane zarówno dla obrazów binarnych jak i dla obrazów ze skal¡ szaro±ci. W tym drugim przypadku erozja odpowiada lokalnemu minimum, a dylatacja - lokalnemu maksimum. Oznaczmy obraz wej±ciowy jako src. Poni»ej przedstawiono kilka przy- kªadowych wªasno±ci operacji morfologicznych. Zªo»enie erozji i dylatacji jest równowa»ne operacji otwarcia (opening): open(src) = dilate(erode(src)). 1 Rysunek 1: Okna konguracji dla operatorów zw¦»ania i otwierania Rysunek 2: Przykªad zªo»enia erozji i dylatacji 2 Przykªadowa realizacja w harpii jest pokazana na rys. 2. Operacje erozji i dylatacji s¡ dualne: (erode(srcc ))c = dilate(src). Realizacja jest pokazana na rys. 3. Operacja dopeªnienia srcc jest wykony- Rysunek 3: Przykªad dualno±ci erozji i dylatacji wana jako ró»nica obrazu wypeªnionego warto±ci¡ 255 i obrazu ¹ródªowego. Wªasno±¢ idempotentno±ci operatora oznacza, »e jego wielokrotne zªo»enie nie zmienia wyniku w stosunku do jednokrotnego zastosowania. Operacja otwarcia jest idempotentna: open(open(src)) = open(src), co przedstawiono na rys. 4. Rysunek 4: Przykªad idempotentno±ci operacji otwierania Operacje morfologiczne mo»na wykorzysta¢ do ltrowania obrazów, znajdowania konturów sylwetek lub tzw. gradientów morfologicznych, wyostrzania obrazów. Poni»ej przedstawiono przykªady takiego wykorzystania. 3 Kaskadowe zastosowanie otwierania i domykania sylwetek: close(open(src)) pozwala usun¡¢ drobne wady ich brzegów (rys. 5). Rysunek 5: Przykªad ltru morfologicznego Gradient morfologiczny pozwala znale¹¢ kontur sylwetki (dla obrazu binarnego) lub kraw¦dzie (dla obrazu ze skal¡ szaro±ci): grad(src) = dilate(src) − erode(src), lowgrad(src) = dilate(src) − src, co przedstawiono na rys. 6. Rysunek 6: Przykªady gradientu morfologicznego Uwaga: Uzyskane gradienty mo»na wykorzysta¢ do wyostrzania obrazu przez ich odpowiednie dodawanie do obrazu oryginalnego. 4 3 Zadania do wykonania U»ywaj¡c obrazów ze skal¡ szaro±ci, jak równie» binarnych (uzyskanych przez progowanie po ewentualnej ltracji dolnoprzepustowej) nale»y wykona¢ poni»sze zadania. 1. Sprawdzi¢ podstawowe wªasno±ci operacji morfologicznych: • zªo»enie dylatacji i erozji jako domkni¦cie: close(src) = erode(dilate(src)), • dualno±¢ otwarcia i domkni¦cia: (open(srcc ))c = close(src), • idempotentno±¢ operacji domykania: open(open(src)) = open(src), close(close(src)) = close(src). 2. Wykorzysta¢ operacje morfologiczne do przetwarzania obrazów: • ltry morfologiczne - otwarcie, domkni¦cie i ich zªo»enia: open(src), close(src), close(open(src)), open(close(src)), close(open(close(open(src)))), open(close(open(close(src)))), ... • gradienty morfologiczne: grad(src) = dilate(src) − erode(src), lowgrad(src) = dilate(src) − src, uppgrad(src) = src − erode(src), • gradienty teksturowe: hatgrad(src) = close(src) − open(src), blackhat(src) = close(src) − src, tophat(src) = src − open(src), • wyostrzanie obrazu: sharp(src) = src + uppgrad(src) − lowgrad(src), hatsharp(src) = src + tophat(src) − blackhat(src). 5 4 Uwagi pomocnicze 1. Operatory morfologiczne: M orphological Operators → Erosion - erozja; M orphological Operators → Dilate - dylatacja; M orphological Operators → Opening - otwarcie; M orphological Operators → Closing - domkni¦cie. 5 Forma sprawozdania Analogicznie jak w ¢wiczeniu EX0, zamieniaj¡c w odpowiednich miejscach EX0 na EX6. Marek Wnuk 6