Laboratorium Cyfrowego Przetwarzania Obrazów

Podobne dokumenty
Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Przetwarzania Sygnałów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Przetwarzania Sygnałów

Laboratorium Przetwarzania Sygnałów

Laboratorium MATLA. Ćwiczenie 6 i 7. Mała aplikacja z GUI

Laboratorium Przetwarzania Sygnałów

Laboratorium MATLA. Ćwiczenie 1

Układy i Systemy Elektromedyczne

Laboratorium Przetwarzania Sygnałów. Ćwiczenie 2. Analiza widmowa

Laboratorium MATLA. Ćwiczenie 4. Debugowanie. Efektywności kodu. Wektoryzacja.

Proste metody przetwarzania obrazu

Raport. Bartosz Paprzycki UMK 2009/2010

Komputerowe przetwarzanie obrazu Laboratorium 5

Przetwarzanie obrazów rastrowych macierzą konwolucji

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Laboratorium Cyfrowego Przetwarzania Obrazów

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

dr inż. Tomasz Krzeszowski

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

PRZEWODNIK PO PRZEDMIOCIE

Histogram obrazu, modyfikacje histogramu

Podstawy Informatyki Computer basics

zna wybrane modele kolorów i metody transformacji między nimi zna podstawowe techniki filtracji liniowej, nieliniowej dla obrazów cyfrowych

Diagnostyka obrazowa

Laboratorium MATLA. Ćwiczenie 2. Programowanie. Skrypty i funkcje. Instrukcje sterujące.

Wstęp do Programowania Lista 1

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Obraz jako funkcja Przekształcenia geometryczne

Diagnostyka obrazowa

Michał Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (3)

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Analiza obrazów. Segmentacja i indeksacja obiektów

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

PROGRAM NAUCZANIA PRZEDMIOTU FAKULTATYWNEGO NA WYDZIALE LEKARSKIM I ROK AKADEMICKI 2014/2015 PRZEWODNIK DYDAKTYCZNY

Kultywator rolniczy - dobór parametrów sprężyny do zadanych warunków pracy

Przetwarzanie obrazów wykład 2

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

ĆWICZENIE 4 ZASTOSOWANIE METOD I NARZĘDZI LOGIKI ROZMYTEJ DO KLASYFIKACJI DANYCH I APROKSYMACJI ODWZOROWAŃ STATYCZNYCH

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

PRZEWODNIK PO PRZEDMIOCIE

Cyfrowe Przetwarzanie Obrazów i Sygnałów

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Akademia Górniczo-Hutnicza

Diagnostyka obrazowa

1 Programowanie w matlabie - skrypty i funkcje

Elektronika i Telekomunikacja I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Podstawy grafiki komputerowej

PRZEWODNIK PO PRZEDMIOCIE

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

Egzamin / zaliczenie na ocenę*

Wprowadzenie do środowiska

KARTA PRZEDMIOTU. W5/1;W16/1 W5 Zna podstawowe metody przetwarzania wstępnego EP WM K_W9/3; obrazów barwnych.

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 6 AiR III

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Analiza obrazów - sprawozdanie nr 2

PRZEWODNIK PO PRZEDMIOCIE

Elementy okna MatLab-a

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Laboratorium Przetwarzania Sygnałów Biomedycznych

PRZEWODNIK PO PRZEDMIOCIE

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Algorytm grupowania danych typu kwantyzacji wektorów

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

KARTA PRZEDMIOTU. zaliczenie na ocenę WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Wprowadzenie do programu Mathcad 15 cz. 1

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

III. Przebieg ćwiczenia. 1. Generowanie i wizualizacja przebiegów oraz wyznaczanie ich podstawowych parametrów

Przetwarzanie obrazu

Komputerowa analiza obrazu Laboratorium 4

Instytut Fizyki Politechniki Łódzkiej Laboratorium Metod Analizy Danych Doświadczalnych Ćwiczenie 3 Generator liczb losowych o rozkładzie Rayleigha.

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej

Katedra Elektrotechniki Teoretycznej i Informatyki

II. Cel dwiczenia: Zastosowanie oprogramowania ImagePro Plus

Układy i Systemy Elektromedyczne

Przetwarzanie obrazu

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

KARTA PRZEDMIOTU. Kod przedmiotu Nazwa przedmiotu w języku. M INF _05.15 Analiza obrazów medycznych Analysis of medical images. polskim angielskim

Wprowadzenie do analizy dyskryminacyjnej

PRZEWODNIK PO PRZEDMIOCIE. stacjonarne. I stopnia III. Dr inż. Manuela Ingaldi. ogólnoakademicki. kierunkowy

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Laboratorium EAM. Instrukcja obsługi programu Dopp Meter ver. 1.0

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Układy i Systemy Elektromedyczne

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Stochastyczne Metody Analizy Danych. PROJEKT: Analiza kluczowych parametrów turbin wiatrowych

Komputerowe obrazowanie medyczne

Laboratorium Przetwarzania Sygnałów. Ćwiczenie 3. Filtracja i korelacja sygnałów dyskretnych

PRZEWODNIK PO PRZEDMIOCIE

Operacje przetwarzania obrazów monochromatycznych

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Transkrypt:

Laboratorium Cyfrowego Przetwarzania Obrazów Ćwiczenie 5 Segmentacja Opracowali: - dr inż. Krzysztof Mikołajczyk - dr inż. Beata Leśniak-Plewińska - dr inż. Jakub Żmigrodzki Zakład Inżynierii Biomedycznej, Instytut Metrologii i Inżynierii Biomedycznej, Wydział Mechatroniki Politechniki Warszawskiej. Warszawa, 2011

1. Cel ćwiczenia. W ramach ćwiczenia studenci zapoznają się z implementacją podstawowych metod segmentacji obrazów: segmentacji przez wykrywanie krawędzi, segmentacji progowej oraz segmentacji metodą rozrostu regionów. 2. Wymagane wiadomości. 1. Podstawowe pojęcia i definicje z zakresu segmentacji i rozpoznawania obrazów. 2. Umiejętność interpretacji histogramów obrazów cyfrowych. 3. Znajomość poniższych metod segmentacji: Segmentacja przez wykrywanie krawędzi Segmentacja przez progowanie Segmentacja metodą rozrostu regionów 3. Literatura 1. R. Tadeusiewicz i P. Korohoda "Komputerowa analiza i przetwarzanie obrazów", Wydawnictwo Fundacji Postępu Telekomunikacji, Kraków, 1997 (http://winntbg.bg.agh.edu.pl/skrypty2/0098/komputerowa_analiza.pdf) Ćwiczenie 5 - Segmentacja 2/9

4. Spis (niestandardowych) funkcji Matlab'a przydatnych podczas realizacji ćwiczenia. h = pokaz_obraz (X, 'NazwaParametru', WartoscParametru) Funkcja służy do tworzenia ilustracji danych 2D. Parametrami wyjściowymi funkcji są: 1. h uchwyt do obiektu graficznego, Parametrami wejściowymi funkcji są: 1. X dane obrazowe (macierz), 2. 'NazwaParametru', WartoscParametru - nazwa i wartość parametru określającego wybrane właściwości obiektu graficznego. Parametry opisano w poniższej tabeli. Nazwa parametru 'mapa' 'typ' Opis i wartości parametru macierz liczbowa określająca paletę barw; standardowe palety barw dostępne w MATLAB'ie: hsv, jet, hot, gray, cool, bone, copper, pink, prism, flag. Wartość domyślna: gray; Łańcuch znakowy określający czy dane wejściowe zostaną przeskalowane przed wyświetleniem: 'skalowany' - tworzy ilustrację, w której wartości pixeli obrazu (elementów macierzy) są przeskalowane tak, aby wykorzystać pełen zakres aktualnej palety barw; 'nieskalowany' - brak skalowania. Wartość domyślna: 'skalowany' Przykłady: h = pokaz_obraz(lena, 'mapa', gray, 'typ', 'nieskalowany'); Powyższe polecenie utworzy ilustrację 2D danych zawartych w zmiennej lena. Paletą barw będą odcienie szarości. Dane nie będą skalowane. Ponadto polecenie zwróci uchwyt do utworzonego obiektu graficznego (ilustracji) i przypisze go zmiennej h. pokaz_obraz(lena); Powyższe polecenie utworzy ilustrację 2D danych zawartych w zmiennej lena. Paleta barw i rodzaj skalowania będą miały wartości domyślne. Ćwiczenie 5 - Segmentacja 3/9

[Wz Pz]= hist_obrazu (X) Funkcja służy do wyznaczania i ilustrowania histogramu obrazu. Parametrami wyjściowymi funkcji są: 1. Wz wektor liczebności elementów przypadających do określonego przedziału klasowego, 2. Pz wektor przedziałów klasowych. Dla danych typu uint8 wektor ten zawsze zawiera 256 elementów o wartościach całkowitych z przedziału 0 255. Parametrami wejściowymi funkcji są: 1. X macierz reprezentująca obraz, dla którego wyznaczany jest histogram. Przykłady: [Wz Pz] = hist_obrazu(x); Powyższa komenda wyznaczy histogram obrazu zawartego w zmiennej X oraz stworzy jego ilustrację graficzną. Ćwiczenie 5 - Segmentacja 4/9

[mask,mu,v,p]=emseg(ima,k) Funkcja służy do segmentacji obrazu z użyciem metody maksymalizacji wartości oczekiwanej, ang. Expectation Maximization (EM). Algorytm dopasowuje do histogramu obrazu zbiór rozkładów Gaussa (liczba rozkładów równa jest liczbie klas/segmentów, które chcemy wyodrębnić w obrazie). Punkty przecięcia kolejnych rozkładów Gaussa wyznaczają wartości progowe dla segmentacji. Parametrami wyjściowymi funkcji są: 1. mask macierz reprezentująca obraz po segmentacji (w skali szarości) 2. mu wektor wartości średnich segmentów obrazu ima. 3. v wektor wartości wariancji segmentów obrazu ima. 4. p wektor wartości proporcji segmentów obrazu ima. Parametrami wejściowymi funkcji są: 1. ima macierz reprezentująca segmentowany obraz (monochromatyczny), 2. k liczba klas/segmentów na jakie zostanie podzielony obraz ima. Przykłady: [mask,mu,v,p]=emseg(image,3); Powyższe polecenie przeprowadza segmentacje obrazu image wyodrębniając w nim trzy klasy/segmenty oraz tworzy ilustracje graficzna histogramu i dopasowanych rozkładów Gaussa. Źródło: Matlab Central - EM image segmentation - Jose Vicente Manjon-Herrera. Ćwiczenie 5 - Segmentacja 5/9

[g, NR, SI, TI] = regiongrow(f, S, T) Funkcja służy do segmentacji obrazu z użyciem algorytmu rozrostu regionów. Parametrami wyjściowymi funkcji są: 1. G macierz reprezentująca obraz będący wynikiem segmentacji; każdy region stanowi zbiór punktów o wartościach będących kolejnymi liczbami całkowitymi, 2. NR liczba powstałych regionów, 3. SI macierz logiczna o rozmiarze obrazu f, ilustrująca położenie elementów obrazu f, których wartość jest równa wartości ziarna (S), 4. TI macierz logiczna o rozmiarze obrazu f, ilustrująca położenie elementów obrazu f, które spełniają warunek progowania. Parametrami wejściowymi funkcji są: 1. f macierz reprezentująca segmentowany obraz, 2. S parametr określający położenie punktów startowych (ziaren) dla procedury rozrostu regionu; S może być wartością skalarną (globalną wartością punktów startowych dla całego obrazu f) lub S może być macierzą o rozmiarze równym rozmiarowi obrazu f o wartościach 1 w każdym punkcie startowym rozrostu i 0 w pozostałych punktach, 3. T wartość progu; T może być wartością skalarną (globalną wartością progu dla całego obrazu f) lub T może być macierzą o rozmiarze równym rozmiarowi obrazu f o wartościach progu dla każdego punktu obrazu f. Rozrost regionu w danym kierunku jest zakończony gdy różnica wartości elementu obrazu f oraz ziarna S przekroczą wartość progu T. Przykłady: [g, NR, SI, TI] = regiongrow(ima, max(ima(:)), 100); Powyższe polecenie przeprowadza segmentacje obrazu image wyodrębniając w nim regiony, których rozrost rozpoczyna się w punktach o wartościach równych S (tu jest to wartość maksymalna w obrazie) i jest ograniczony przez próg o wartości T (tu wartość progu jest równa 100). Ćwiczenie 5 - Segmentacja 6/9

4. Przebieg ćwiczenia Przed przystąpieniem do realizacji ćwiczenia należy poprosić prowadzącego o wskazanie folderu zawierającego dane niezbędne do realizacji ćwiczenia. Oznaczenia użyte w tekście: sygnal nazwa funkcji, która powinna zostać użyta w celu rozwiązania danego problemu, s1 nazwa zmiennej, s1a=s1(1:end/4) polecenie Matlab'a, które należy wpisać w okno komend (ang.: command window). s t = A sin 2 f t - opis w notacji matematycznej. 1. Segmentacja przez wykrywanie krawędzi. a) Z pliku 'kidneys.bmp' załaduj obraz kidneys do przestrzeni roboczej. b) Wyświetl obraz kidneys (pokaz_obraz, dobierz wartości parametru 'typ' i 'mapa'). c) Wyodrębnij krawędzie w obrazie kidneys (funkcja edge, 'method' = 'prewitt', pozostałe parametry domyślne). d) Zilustruj wynik operacji z p.p. 1.c) (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). e) Zanotuj wartość progu (drugi parametr wyjściowy funkcji edge - 'thresh'). Dla jakiej wartości progu przeprowadzono operację wykrywania krawędzi? Czy wynik operacji wykrywania krawędzi umożliwia segmentację nerek i dlaczego? f) Wyodrębnij krawędzie w obrazie kidneys (funkcja edge, 'method' = 'prewitt') dla wartości progu dobranej tak, aby uzyskać pełniejszy kontur nerek. g) Zilustruj wynik operacji z p.p. 1.f) (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). h) Zanotuj dobraną wartość progu. Jakie są skutki zmian wartości progu? Czy można dobrać wartość progu tak aby segmentacja nerek była możliwa? 2. Segmentacja przez progowanie ręczny dobór progu na podstawie histogramu a) Wyznacz histogram obrazu kidneys oraz histogramy fragmentów obrazów zawierające nerki. (hist_obrazu) b) Na podstawie histogramu obrazu kidneys dobierz próg i przeprowadź segmentację (binaryzację) obrazu kidneys (wykorzystaj jedną z możliwości: instrukcje: pętli for i warunkowa if lub indeksowanie logiczne np. z użyciem funkcji find). c) Zilustruj wynik p.p. 2.b) (pokaz_obraz, dobierz wartości parametrów: 'typ' i 'mapa'). d) Zanotuj zastosowaną wartość progu. Porównaj wyniki uzyskane w p. 1c) i 2b). Ćwiczenie 5 - Segmentacja 7/9

3. Segmentacja przez progowanie automatyczny dobór progu na podstawie histogramu a) Przeprowadź automatyczne wyznaczenie progu dla obrazu kidneys metodą Otsu (funkcja graythresh) (Otsu, N., "A Threshold Selection Method from Gray-Level Histograms," IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, No. 1, 1979, pp. 62-66). b) Zanotuj wyznaczoną wartość progu. c) Ponownie dokonaj segmentacji obrazu kidneys korzystając z nowej wartości progu (wykorzystaj jedną z możliwości: instrukcje pętli for z instrukcją warunkową if lub indeksowanie logiczne np. z użyciem funkcji find). d) Zilustruj wynik p.p. e) (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). e) Przeprowadź segmentację obrazu profil korzystając z metody EM (metody maksymalizacji wartości oczekiwanej, ang. Expectation Maximization) (funkcja EMSeg, liczba klas/obszarów 'm' = 2). f) Zilustruj wynik p.p. 3.e) (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). g) Zanotuj wartość progu wartość progu należy odczytać z wykresu przedstawiającego dopasowane od histogramu obrazu rozkłady Gaussa. Porównaj wartości progów zanotowane w punktach 1.e, 1.h, 2.d, 3.b i 3.g. Wyjaśnij przyczynę różnic. 4. Segmentacja metodą rozrostu regionów a) Przeprowadź segmentację obrazu kidneys korzystając z metody rozrostu regionów (funkcja regiongrow, skalarne parametry wejściowe: 'S' ziarno/punkt startowy (globalny dla całego obrazu) i 'T' - próg (globalny dla całego obrazu), ich wartości dobierz np. na podstawie histogramu obrazu kidneys oraz jego fragmentów zawierających nerki). b) Zilustruj wynik p.p. 4.a) (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). Porównaj wyniki uzyskane w punktach. 2.b), 3.c), 3.e) i 4.a. Wyjaśnij przyczynę różnic. Ćwiczenie 5 - Segmentacja 8/9

Sprawozdanie Ćwiczenie 5 Segmentacja L.p. Imię i nazwisko Grupa Data 1 2 3 Punkt ćwiczenia Liczba punktów do uzyskania Uzyskana liczba punktów Uwagi prowadzącego 1 2 2 3 3 3 4 2 Ćwiczenie 5 - Segmentacja 9/9