pn10 Matlab lab3 Bubak


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
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
Grupa:
Prowadzący: dr inż. Piotr KOHUT
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
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);
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);
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ę.
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
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);
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);
Obraz I (filtr medianowy):
Obiekt najjaśniejszy:
Obiekt o średnim poziomie jasności:
Obiekt najciemniejszy:
Obraz II ( kombinacja filtrów imclose / imerode / imerode / imdilate / imdilate):
Obiekt najjaśniejszy:
Obiekt o średnim poziomie jasności:
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.
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):
Obraz Obiekt Area Centroid Orientation BoundingBox
Obiekt 1 17672 471.950 202.740 -18.595 385.5 117.5 172 172
Obraz I
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
Obiekt 1 16781 471.322 202.297 48.187 385.5 118.5 172 170
Obraz II
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
Obiekt 1 891 0.628 0.443 -66.783 0 -1 0 2
Różnica
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 lab4 Bubak
pn10 Matlab lab2 Bubak
pn10 Matlab lab1 Bubak
MATLAB cw Skrypty
lab3 polowienia
SIMULINK MATLAB to VHDL Route
IMiR NM2 Introduction to MATLAB
Lab3
matlab skrypty
MATLAB2
Hipua lab3 spr
statystyka w matlabie
Matlab Kosinska
lab3 PMUEM
Slowniczek matlab
WdA Lab3 Lukasz Skrodzki

więcej podobnych podstron