10.02.2015 Views

Ćwiczenie_3. Filtracja obrazów w programie MATLAB.

Ćwiczenie_3. Filtracja obrazów w programie MATLAB.

Ćwiczenie_3. Filtracja obrazów w programie MATLAB.

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

IV ROK GIK. PRZEDMIOT: CYFROWE PRZETWARZANIE OBRAZU ‐ ĆWICZENIA wersja 130325<br />

Filtr medianowy jest to filtr stosowany do usuwania zakłóceń z obrazu w postaci szumów. Działanie filtra<br />

jest szczególnie przydatne w przypadku zakłóceń typu "pieprz i sól". Filtry medianowe przetwarzają dany<br />

punkt obrazu jako medianę z wartości punktów go otaczających. Mediana to w uproszczeniu wartość<br />

średnia w uporządkowanym rosnąco ciągu wartości pikseli całego rozważanego otoczenia przetwarzającego<br />

piksela.<br />

Filtry morfologiczne<br />

Termin morfologia oznacza m. in. badanie „struktury i kształtu”. W przetwarzaniu obrazów morfologię<br />

matematyczną wykorzystuje się do analizy cech geometrycznych wyróżnionych obiektów obrazu. Metody<br />

morfologii matematycznej pozwalają rozpoznawać budowę obiektów, a także przetwarzać ich kształt<br />

poprzez analizę badanego obrazu za pomocą specjalnych obiektów tzw. elementów strukturalnych.<br />

Najpopularniejszymi z tej grupy filtrami jest erozja i dylatacja. W <strong>MATLAB</strong>’ie funkcje te definiuje się w<br />

następujący sposób:<br />

e = imerode(A, se)<br />

d = imdilate(A, se), gdzie<br />

A – obraz wejściowy,<br />

se –element strukturalny.<br />

Złożenie obu funkcji tworzy (zależnie od kolejności złożenia) operacie otwarcia i zamknięcia:<br />

e = imopen(A, se)<br />

d = imclose(A, se).<br />

Inną częściej stosowaną funkcją morfologiczną stosowaną na obrazach binarnych jest:<br />

M = bwmorph(BW,’operacja’),<br />

BW – binarny obraz wejściowy.<br />

Operacje to m. In.:<br />

‘dilate’, ‘erode’, ‘thin’ – ścienianie, ‘fill’ – wypełnianie. Inne opcje należy sprawdzić w helpie.<br />

Zadanie:<br />

1. Wczytać oraz wyświetlić obraz apollo.tif – nazwać obraz jako I (przetwarzany obraz ma mieć ciagle<br />

taka samą nazwę).<br />

2. Usunąć szumy – zastosować filtr medianowy, z filtrem [7,7]. Wyświetlić obraz, a rysunek nazwać<br />

Filtr Medianowy ‐ imshow(I); title('Filtr Medianowy ');<br />

<strong>3.</strong> Na wynikowym obrazie I zastosować filtr Gausa. Filtr nazwać F_gauss. Wyświetlić i opisać obraz Filtr<br />

medianowy + Gauss.<br />

4. Na wynikowym obrazie I zastosować filtr Wiener’a, oczko [9,9]. Funkcja I = wiener2(I,[9 9]). Obraz<br />

wyświetlić i opisać Filtr medianowy + Gauss + Wiener.<br />

5. Na wynikowym obrazie I zastosować filtr podkreślający krawędzie obiektów, ustawić parametr 0,2.<br />

Filtr nazwać F_unsharp. Wynikowy obraz wyświetlić i nazwać Filtr medianowy + Gaussa + Wiener +<br />

Unsharp.<br />

6. Na wynikowym obrazie I zastosować filtr Laplace'a. Filtr nazwać F_Laplace, a wyświetlony obraz<br />

nazwać Filtr medianowy + Gaussa + Wiener + Unsharp + Laplace.<br />

7. Powstały obraz w wyniku zastosowania kolejnych filtrów zamienić na czarno‐biały i nazwać go BW.<br />

8. Na obrazie binarnym zastosować dylatację 5x. Obraz wyświetlić.<br />

9. Na obrazie wynikowym zastosować ścienianie. Obraz wyświetlić.<br />

10. Nałożenie krawędzi na obraz<br />

CPO ‐ ćw.<strong>3.</strong> <strong>Filtracja</strong> obrazów w <strong>programie</strong> <strong>MATLAB</strong> ‐ Natalia Borowiec, Jakub Kolecki

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!