Laboratorium Cyfrowego Przetwarzania Obrazów

Podobne dokumenty
Laboratorium Przetwarzania Sygnałów

Laboratorium Przetwarzania Sygnałów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Cyfrowego Przetwarzania Obrazó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 MATLA. Ćwiczenie 1

Układy i Systemy Elektromedyczne

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

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

Egzamin / zaliczenie na ocenę*

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

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

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

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

Dodatkowo klasa powinna mieć destruktor zwalniający pamięć.

Diagnostyka obrazowa

Proste metody przetwarzania obrazu

3. OPERACJE BEZKONTEKSTOWE

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Wprowadzenie do środowiska

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

Histogram obrazu, modyfikacje histogramu

Laboratorium Cyfrowego Przetwarzania Obrazów

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Obraz jako funkcja Przekształcenia geometryczne

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

Matlab Składnia + podstawy programowania

Przetwarzanie obrazów rastrowych macierzą konwolucji

PRZEWODNIK PO PRZEDMIOCIE

Cyfrowe Przetwarzanie Obrazów i Sygnałów

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

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

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

Języki i metodyka programowania. Wprowadzenie do języka C

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

Laboratorium Przetwarzania Sygnałów Biomedycznych

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

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

Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do zajęć laboratoryjnych z przedmiotu:

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

PODSTAWY RACHUNKU WEKTOROWEGO

PRZEWODNIK PO PRZEDMIOCIE

Przetwarzanie sygnałów

Diagnostyka obrazowa

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Operator rozciągania. Obliczyć obraz q i jego histogram dla p 1 =4, p 2 =8; Operator redukcji poziomów szarości

Ćwiczenie 1. Wprowadzenie do programu Octave

Obliczenia w programie MATLAB

Podstawowe operacje na macierzach

Ćwiczenie 1. Wprowadzenie do programu Octave

Właściwości i metody obiektu Comment Właściwości

PRZEWODNIK PO PRZEDMIOCIE

Układy i Systemy Elektromedyczne

Ćwiczenie 6. Transformacje skali szarości obrazów

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

Układy i Systemy Elektromedyczne

MATLAB tworzenie własnych funkcji

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Zadanie 2: Arytmetyka symboli

FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

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

Diagnostyka obrazowa

Przetwarzanie obrazów wykład 2

Podstawy grafiki komputerowej

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Elementy okna MatLab-a

Aplikacja sieciowa kalkulatora macierzowego zadanie za 10 punktów

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów

Część 4 życie programu

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Matematyka liczby zespolone. Wykład 1

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

PRZEWODNIK PO PRZEDMIOCIE

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Optymalizacja systemów

Algorytm. a programowanie -

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Zakłócenia w układach elektroenergetycznych LABORATORIUM

Akademia Górniczo-Hutnicza

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

Metoda znak-moduł (ZM)

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

Metody i analiza danych

Język ludzki kod maszynowy

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

Transkrypt:

Laboratorium Cyfrowego Przetwarzania Obrazów Ćwiczenie 2 Histogram i arytmetyka obrazów Opracowali: - 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, 2015

I Cel ćwiczenia W ramach ćwiczenia studenci zapoznają się z podstawowymi przekształceniami geometrycznymi obrazów (translacją, obrotem i skalowaniem) oraz podstawowymi operacjami arytmetycznymi na obrazach (suma, różnicą, różnica bezwzględną, iloczynem i ilorazem). II Wymagane wiadomości 1. Przekształcenia geometryczne obrazów: rodzaje, sposób realizacji, artefakty. 2. Operacje arytmetyczne na obrazach: rodzaje, skutki ograniczonego zakresu wartości. III Literatura 1. Notatki z wykładu 2. 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) 3. R.C. Gonzalez i R.E. Woods "Digital Image Processing Using MATLAB", Prentice Hall, 2004 Ćwiczenie 2 Histogram i arytmetyka obrazów 2/8

IV 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 2 Histogram i arytmetyka obrazów 3/8

Z = arytmetyka_obrazow (X,Y, 'NazwaParametru', WartoscParametru) Funkcja służy do wykonywania wybranych operacji arytmetycznych. Parametrami wyjściowymi funkcji są: 1. Z wynik operacji arytmetycznej, Parametrami wejściowymi funkcji są: 1. X,Y dane wejściowe (macierz lub skalar) dla których wykonywana jest operacja arytmetyczna 2. 'NazwaParametru', WartoscParametru - nazwa i wartość parametru określającego sposób tworzenia danych wynikowych. Parametry opisano w poniższej tabeli. Nazwa parametru 'operator' Opis i wartości parametru Łańcuch znakowy określający operator arytmetyczny. 'przepelnienie' 'klasa' Zaimplementowane operatory: '+' - operator dodawania '-' - operator odejmowania '.*' - operator mnożenia tablicowego './' - operator dzielenia tablicowego ' - ' - operator wartości bezwzględnej różnicy (odejmowania) (np.: X-Y ). Parametr określający sposób postępowania w przypadku gdy wartość wyniku operacji arytmetycznej przekracza zakres wartości dla danej klasy danych (w ćwiczeniu zastosowane dane klasy uint8, dla którego wartość minimalna wynosi 0 a maksymalna 2 8-1): 'saturacja' elementy o wartościach wyższych od wartości maksymalnej dla danej klasy danych przyjmują wartość maksymalną, a o wartościach niższych od minimalnej wartość minimalną; 'przewiniecie' elementy o wartości przekraczającej zakres wartości dla danej klasy danych przyjmują wartość będącą wynikiem działania: wartość modulo p lub max- wartość modulo p (p - liczba wartości jakie może przyjmować zmienna danej klasy danych). Wartość domyślna: 'saturacja' Parametr określa klasę danych wynikowych. Standardowe liczbowe klasy danych MATLAB'a: 'uint8', 'uint16', 'uint32', 'uint64', 'int8', 'int16', 'int32', 'int64', 'single', 'double'. Przykłady: Z = arytmetyka_obrazow(x,100,'operator','+','przepelnienie','przewiniecie'); Powyższe polecenie wykona operację dodania do danych wejściowych X wartości skalarnej równej 100. Wartości przekraczające 255 zostaną przewinięte, tzn. potraktowane jako wynik działania: mod(x, 256), x wartość elementu obrazu X. Ćwiczenie 2 Histogram i arytmetyka obrazów 4/8

[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 2 Histogram i arytmetyka obrazów 5/8

V 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. Histogram a) Z plików 'brain.bmp', 'brain_1.bmp' i 'brain_2.bmp' załaduj do przestrzeni roboczej obrazy: brain, brain_1 i brain_2. b) Wyświetl obrazy: brain, brain_1 i brain_2 (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). c) Wyznacz i zilustruj histogramy obrazów: brain, brain_1 i brain_2 (hist_obrazu). Wyjaśnij wyniki uzyskane w p. 1.c. Jaką informację o obrazie zawiera jego histogram? d) Wyznacz i zilustruj histogramy fragmentów obrazów: brain, brain_1 i brain_2 (fragmenty o współrzędnych: x1=100, y1=100, x2=156, y2=156) (hist_obrazu). Wyjaśnij wyniki uzyskane w p. 1.d. e) Z pliku 'lungs.bmp' załaduj do przestrzeni roboczej obraz: lungs. f) Wyświetl obraz: lungs (pokaz_obraz, parametr 'typ' o wartości 'nieskalowany', domyślna wartość parametru 'mapa'). g) Wyznacz i zilustruj histogram obrazu: lungs. h) Wyrównaj histogram obrazu lungs (histeq standardowa funkcja biblioteki Image Processing pakietu MATLAB). i) Skaluj/rozciągnij histogram obrazu lungs. j) Wyświetl obraz lungs po operacji wyrównania i rozciągania histogramu (pokaz_obraz, parametr 'typ' o wartości 'nieskalowany', domyślna wartość parametru 'mapa'). k) Wyznacz i zilustruj histogram obrazu: lungs po operacji wyrównywania i rozciągania histogramu (hist_obrazu). Wyjaśnij różnice pomiędzy wynikiem uzyskanym w punktach 1.h i 1.i. Czym różni się skalowanie/rozciąganie histogramu od jego wyrównywania. W jakim celu stosuje się wyrównywanie histogramu obrazu, a jakim jego skalowanie/rozciąganie? Ćwiczenie 2 Histogram i arytmetyka obrazów 6/8

2. Arytmetyka obrazów a) Z pliku 'simpson256.bmp' załaduj obraz simpson. b) Wykonaj następujące operacje arytmetyczne dla obrazu simpson (arytmetyka_obrazow) dla obydwu wartości parametru 'przepelnienie': 'saturacja' oraz 'przewiniecie': simpson + 100, simpson - 100, simpson.* 2, simpson./ 5. c) Zilustruj wyniki operacji arytmetycznych (pokaz_obraz, domyślna wartość parametrów 'mapa', samodzielnie dobierz właściwy parametr 'typ'). Dla każdej operacji arytmetycznej wyjaśnij czym spowodowane są ewentualne różnice pomiędzy wynikami operacji dla każdej wartości parametru 'przepełnienie'. Pomocne może być porównanie histogramów obrazu simpson i obrazów wynikowych. Co będzie obrazem wynikowym dla operacji: simpson max(simpson(:)), dla każdej wartości parametru 'przepelnienie' ('saturacja' i 'przewiniecie')? 3. Zadanie a) Z pliku 'brain256.bmp' załaduj obraz brain. b) Zilustruj obrazy simpson i brain (pokaz_obraz, domyślna wartość parametrów 'mapa', samodzielnie dobierz właściwy parametr 'typ'). c) Stosując właściwe operacje usuń z obrazu simpson obiekt przedstawiony na obrazie brain (arytmetyka_obrazow, samodzielnie dobierz operator i wartości parametru 'przepełnienie') d) Zilustruj wynik (pokaz_obraz, domyślna wartość parametrów 'mapa', samodzielnie dobierz właściwy parametr 'typ'). Wyjaśnij i uzasadnij dobór operacji i parametrów. Ćwiczenie 2 Histogram i arytmetyka obrazów 7/8

Sprawozdanie Ćwiczenie 2 Histogram i arytmetyka obrazów L.p. Imię i nazwisko Grupa Data wykonania 1 2 3 Punkt ćwiczenia Liczba punktów do uzyskania Uzyskana liczba punktów Uwagi prowadzącego 1 4 2 4 3 2 Ćwiczenie 2 Histogram i arytmetyka obrazów 8/8