pn10 Matlab lab3 Bubak

background image

AKADEMIA GÓRNICZO – HUTNICZA

im. Stanisława Staszica w Krakowie

Wydział Inżynierii Mechanicznej i Robotyki















Systemy Wizyjne

Sprawozdanie z laboratorium nr 3 MatLab




Damian Bubak

grupa 23, rok III, Mechatronika (IMiR)

Data wykonania ćw: 24.03.14r.

Godzina 10:30

background image

Katedra Robotyki i Mechatroniki

Systemy wizyjne.

Matlab_Cw_3_4

Temat:

Analiza obrazu w programie Matlab

Cel ćwiczenia : Nabycie umiejętności w implementacji zaawansowanych procedur analizy obrazu.

Metody wstępnego przetwarzania i analizy obrazów , cechy obrazu , współczynniki kształtu

,

funkcje

Matlab'a

Prowadzący: dr inż. Piotr KOHUT

Grupa:

Imię i nazwisko:

Data:

Uwagi:














Zgodnie z wytycznymi przygotowano obraz zawierający 10 figur geometrycznych. Obraz ten
następnie poddano obróbce mającej na celu pozyskanie oraz porównanie informacji o obiektach
na nim się znajdujących.

1.

Etap wstępnego przetwarzania obrazów

W celu usunięcia występujących szumów z obrazu zaprojektować dwa typy filtrów.

a)

Filtry: uśredniający / minimalny / maksymalny / medianowy





background image

Obraz oryginalny:


Wprowadzenie szumów do obrazu dzięki czemu będzie można łatwo zaobserwować efekty
działania różnych filtrów. Wprowadzony szum typu salt & pepper Polecenie Matlaba:

gray1 = imnoise(gray,

'salt & pepper'

);


Zastosowanie filtra minimalnego. Białe punkty znikneły natomiast czarne powiększyły się.
Zatem szumy zostały zlikwidowane połowicznie. Polecenia Matlaba:

gray2 = colfilt(gray1,[3 3],

'sliding'

,@min);

background image


Zastosowanie filtra maksymalnego. W efekcie czarne punkty znikneły natomiast białe
powiekszyły się. Rezultat podobny do poprzedniego filtra. Polecenie Matlaba:

gray3 = colfilt(gray1,[3 3],

'sliding'

,@max);



Zastosowanie filtra uśredniającego. Efektem jest zniknięcie części figur z obrazu, pozostała tylko
ta która była czarna. Ponadto białe punkty nie znikneły po filtracji. Polecenie Matlaba:

gray4 = colfilt(gray1,[3 3],

'sliding'

,@mean);

background image


Zastosowanie filtra medianowego. Jak widać filtr ten daje najlepsze efekty dla tego rodzaju
szumów. Białe i czarne punkty znikneły, pozostają jedynie minimalne nierówności na granicach
obiektów. Polecenie Matlaba:

gray5 = colfilt(gray1,[3 3],

'sliding'

,@median);

b)

Filtry morfologiczne: erozja / dylatacja / otwarcie / zamknięcie morfologiczne.

Zastosowanie erozji morfologicznej. Białe punkty znikneły, ale czarne powiększyły się.

background image

Polecenie Matlaba:

gray6 = imerode(gray1,se);


Zastosowanie filtra dylatacji morfologicznej. Czarne punkty znikneły ale białe powiększyły się.
Polecenie Matlaba:

gray7 = imdilate(gray1,se);


Zastosowanie filtra otwarcia morfologicznego. Białe punkty znikneły, natomiast czarne

background image

pozostały lecz zniekształcone. Polecenie Matlaba:

gray8 = imopen(gray1,se);


Zastosowanie filtra zamknięcia morfologicznego. Czarne punkty znikneły, natomiast białe
pozostały lecz zniekształcone. Polecenie Matlaba:

gray9 = imclose(gray1,se);


background image

Najlepsze rezultaty możemy osiągnąć stosując różne kombinacje wyżej wymienionych filtrów
morfologicznych. Po przeprowadzeniu kilku prób kombinacja filtrów imclose / imerode /
imerode / imdilate / imdilate
dała wystarczająco dobry wynik, tzn. taki który pozwoli na
przeprowadzenie dalszych operacji i analize obrazu. Jedynym efektem ubocznym są nierówności
brzegów figur.


Po przetestowaniu możliwości wszystki filtrów należy zauważyć że to jak dobre rezultaty
przyniesie zastosowanie jakiegoś filtra zależy od rodzaju szumów. W naszym przypadku były to
szumy typu salt&pepper. Zdecydowanie najlepiej poradził sobie z tymi szumami filtr
medianowy. Pokazano również że przy zastosowaniu odpowiedniej kombinacji filtrów
morfologicznych możliwe jest uzyskanie dobrych rezultatów choć jak widać na zamieszczonych
screen’ach nie tak dobrych jak filtem medianowym.

2.

Etap wstępnego przetwarzania obrazów

W celu wydobycia z obrazu obiektu o zadanym poziomie jasności (najjaśniejszy / najciemniejszy
/ średni poziom jasności) na podstawie histogramu, dokonać binaryzacji „przefiltrowanych”
dwóch obrazów: obrazu I-go filtrem (medianowym) oraz obrazu II-go kombinacją filtrów
morfologicznych.

Pierwszym etapen było wyświetlenie histogramu i określenie progów binaryzacji:
Polecenie Matlaba:

figure (12), imhist(gray5);





background image

Obraz I (filtr medianowy):
Obiekt najjaśniejszy:




background image

Obiekt o średnim poziomie jasności:


Obiekt najciemniejszy:






background image

Obraz II ( kombinacja filtrów imclose / imerode / imerode / imdilate / imdilate):
Obiekt najjaśniejszy:


Obiekt o średnim poziomie jasności:





background image

Obiekt najciemniejszy:


Każda figura ma inny kolor, a zatem na histogramie widzimy 10 słupków każdy z nich
charakteryzuje danych obiekt. Dzięki temu określenie progów binaryzacji jest dość proste. W
niektórych przypadkach była potrzebna dodatkowa filtracja w celu usunięcia drobnych białych
punktów. Zastosowanie w tych sytuacjach filtu imopen prawie we wszystkich przypadkach było
wystarczające.







3.

Etap analizy obrazów

Wyznaczyć następujące cechy uzyskanego obiektu: pole powierzchni, środki ciężkości,
orientację, prostokąt opisany na analizowanym obiekcie
. Współrzędne środków ciężkości oraz
oś określającą orientację nanieść na obrazy wynikowe. Na podstawie uzyskanych obrazów oraz
wyznaczonych cech należy odnotować, która z zastosowanych filtracji prowadzi do otrzymania
lepszych rezultatów.






background image

Obraz I (filtr medianowy):


Obraz II ( kombinacja filtrów imclose / imerode / imerode / imdilate / imdilate):


Z porównania dwóch ostatnich obrazów wynika że filtr medianowy daje lepsze rezultaty.
Obiekty znajdujące się na obrazie po tej filtracji są mniej zdeformowane niż po zastosowaniu
filtrów morfologicznych. Poniżej przedstawiono w formie tabeli porównanie cech wybranych
trzech obiektów(Obiekt 1 – pierścień, Obiekt 2 – elipsa, Obiekt 3 – prostokąt):

background image

Obraz

Obiekt

Area

Centroid

Orientation

BoundingBox

Obraz I

Obiekt 1 17672 471.950 202.740

-18.595

385.5

117.5

172

172

Obiekt 2 22677 204.492 300.016

-0.011

82.5

240.5

244

119

Obiekt 3

8428 139.496

78.498

0.000

58.5

51.5

163

54

Obraz II

Obiekt 1 16781 471.322 202.297

48.187

385.5

118.5

172

170

Obiekt 2 22375 204.805 299.939

0.119

83.5

240.5

242

119

Obiekt 3

8285 140.124

78.344

0.146

58.5

52.5

162

52

Różnica

Obiekt 1

891

0.628

0.443

-66.783

0

-1

0

2

Obiekt 2

302

-0.313

0.077

-0.130

-1

0

2

0

Obiekt 3

143

-0.628

0.154

-0.147

0

-1

1

2


Jak widać z porównania obrazów oraz tabeli różnice w otrzymanych wynikach są lecz nie są one
na tyle duże aby zdyskwalifikować którąś z metod filtracji. Np. różnica w polu dla obiektu 2
wynosi zaledwie 1,34% Podkreślić w tym miejscu należy że filtr medianowy w tym przypadku
przynosi lepsze rezultaty co widać chociażby na obrazie. Krawędzie obiektów lepiej
odzwierciedlają ich pierwotny kształt. Tak jak wspomniano już wcześniej przydatność
konkretnego filtru i efekt jaki za jego pomocą osiągniemy zależy między innymi od rodzaju
szumów na obrazie. W tym przypadku najlepszy okazał się filtr medianowy, a to dlatego że
właśnie najlepiej nadaje się on do szumów typu salt&pepper które należało usunąć.
Przeprowadzone analizy pokazują również że pomimo gorszych wyników filtrów
morfologicznych mogą one być z powodzeniem stosowane do przetwarzania obrazów z takimi
szumami.


Wyszukiwarka

Podobne podstrony:
pn10 Matlab lab2 Bubak
pn10 Matlab lab1 Bubak
pn10 Matlab lab4 Bubak
kurs matlaba, Lab3 KURS MATLAB 2003, KURS MATLABa
Matlab cw1 2 zaoczni
cz 1, Matlab moj
Image Processing with Matlab 33
MATLAB graf(1)
kod matlab
Cw08 Matlab2
lab3
lab3 kalorymetria
Matlab wiadomości wstępne
Matlab Class Chapter 1
Matlab środowisko programu
MATLAB, cz 1
Instrukcja obiekt dynamiczny matlab 2015
Matlab Programming (ang)

więcej podobnych podstron