Laboratorium Cyfrowego Przetwarzania Obrazów

Podobne dokumenty
Laboratorium Przetwarzania Sygnałów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Przetwarzania Sygnałów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Cyfrowego Przetwarzania Obrazów

Laboratorium Przetwarzania Sygnałów

Laboratorium Przetwarzania Sygnałów

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

Laboratorium MATLA. Ćwiczenie 1

Układy i Systemy Elektromedyczne

Proste metody przetwarzania obrazu

Laboratorium Cyfrowego Przetwarzania Obrazów

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

Egzamin / zaliczenie na ocenę*

Obraz jako funkcja Przekształcenia geometryczne

Elementy okna MatLab-a

Obrót wokół początku układu współrzędnych o kąt φ można wyrazić w postaci macierzowej następująco

Przekształcenia punktowe i geometryczne

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

Przetwarzanie obrazów rastrowych macierzą konwolucji

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

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

Laboratorium Przetwarzania Sygnałów Biomedycznych

Przekształcenia geometryczne w grafice komputerowej. Marek Badura

Analiza obrazu. wykład 1. Marek Jan Kasprowicz Uniwersytet Rolniczy Marek Jan Kasprowicz Analiza obrazu komputerowego 2009 r.

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

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

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

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

Wykład 14. Elementy algebry macierzy

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

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

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

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

i = [ 0] j = [ 1] k = [ 0]

Laboratorium Przetwarzania Sygnałów Biomedycznych

Podstawy grafiki komputerowej

Komputerowa analiza obrazu Laboratorium 4

3. PŁASKI STAN NAPRĘŻENIA I ODKSZTAŁCENIA

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

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

Układy i Systemy Elektromedyczne

Diagnostyka obrazowa

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

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

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

Gimp Grafika rastrowa (konwersatorium)

Akademia Górniczo-Hutnicza

Wprowadzenie do środowiska

Optymalizacja systemów

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

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla):

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

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

Przestrzenie liniowe

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

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

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

Międzynarodowe Tablice Krystalograficzne (International Tables for Crystallography)

Księgarnia PWN: Andrzej Jaskulski - AutoCAD 2010/LT Podstawy projektowania parametrycznego i nieparametrycznego

PRZEWODNIK PO PRZEDMIOCIE

PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń. Ćwiczenie 2. Korekcja zniekształceń radiometrycznych

Optymalizacja systemów

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

Laboratorium Przetwarzania Sygnałów Biomedycznych

Komputerowe przetwarzanie obrazu Laboratorium 2 Przykład 1 Informacja na temat obrazu: imfinfo( portret.jpg )

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

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

Matlab Składnia + podstawy programowania

Obliczenia w programie MATLAB

Podstawy robotyki. Wykład II. Robert Muszyński Janusz Jakubiak Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska

Graka komputerowa Wykªad 3 Geometria pªaszczyzny

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Obraz cyfrowy. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

1 Przestrzeń liniowa. α 1 x α k x k = 0

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

Przekształcenia liniowe

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

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

PODSTAWY RACHUNKU WEKTOROWEGO

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

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

Warsztat nauczyciela: Badanie rzutu ukośnego

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

PRZEWODNIK PO PRZEDMIOCIE

Grafika komputerowa Wykład 8 Modelowanie obiektów graficznych cz. II

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

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

MATLAB tworzenie własnych funkcji

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.2 Formuły i funkcje macierzowe, obliczenia na liczbach zespolonych, wykonywanie i formatowanie wykresów.

PRZETWARZANIE SYGNAŁÓW LABORATORIUM

Kalibracja kamery. Kalibracja kamery

PRZETWARZANIE SYGNAŁÓW

1 Programowanie w matlabie - skrypty i funkcje

Transkrypt:

Laboratorium Cyfrowego Przetwarzania Obrazów Ćwiczenie 3 Interpolacja i przekształcenia geometryczne 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

1. Cel ćwiczenia. W ramach ćwiczenia studenci zapoznają się z podstawowymi metodami interpolacji obrazów (dwuliniową, dwusześcienną i metodą najbliższego sąsiada) oraz histogramem obrazów. 2. Wymagane wiadomości Teoria histogramu obrazu i jego wyrównywania oraz metod interpolacji obrazu w zakresie wykładu do przedmiotu. 3. 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 3 - Interpolacja i przekształcenia geometryczne obrazów 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ą: h uchwyt do obiektu graficznego, Parametrami wejściowymi funkcji są: X dane obrazowe (macierz), '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 3 - Interpolacja i przekształcenia geometryczne obrazów 3/9

E= mse (X,XI) Funkcja służy do wyznaczania błędu średnio-kwadratowego określonego wzorem: E= 1 m 1 n i=1 m n j=1 X ij XI ij 2 gdzie: X ij - element obrazu wzorcowego, XI ij - element obrazu przetworzonego, m i n wymiary obrazów. Parametrami wyjściowymi funkcji są: E błąd średnio-kwadratowy Parametrami wejściowymi funkcji są: X macierz reprezentująca obraz wzorcowy, XI - macierz reprezentująca obraz przetworzony. Wymiary obrazów (liczba wierszy i kolumn) X i XI muszą być identyczne. Przykłady: E = mse(x,xi); Powyższa komenda wyznaczy błąd średnio-kwadratowy dla obrazu przetworzonego zawartego w zmiennej XI w porównaniu do obrazu wzorcowego X. Ćwiczenie 3 - Interpolacja i przekształcenia geometryczne obrazów 4/9

Z = przeksztalc_obraz (X, 'NazwaParametru', WartoscParametru) Funkcja służy do wykonywania wybranych przekształceń geometrycznych obrazu. Parametrami wyjściowymi funkcji są: Z dane 2D (macierz) będące wynikiem transformacji geometrycznej, Parametrami wejściowymi funkcji są: X dane wejściowe 2D (macierz), dla których wykonywana jest transformacja geometryczna 'NazwaParametru', WartoscParametru - nazwa i wartość parametru określającego sposób realizacji przekształcenia. Parametry opisano w poniższej tabeli. 'typ' Nazwa parametru Opis i wartości parametru Łańcuch znakowy określający rodzaj transformacji geometrycznych: 'translacja' - translacja 'obrot' - obrót 'skalowanie'- skalowanie Powyższe transformacje wykonywane są z wykorzystaniem operacji opisanych układami równań dla współrzędnych punktów obrazu (Tabela 1) 'wymiar' 'Tform' - transformacja geometryczna opisana za pomocą macierzy T (Tabela 1). Transformacja wykonywana jest z wykorzystaniem rachunku macierzowego, a przekształcenie określone jest za pomocą macierzy T (Tabela 1) Macierz określająca wymiary transformacji. W przypadku transformacji wykorzystujących układy równań współrzędnych ('typ' = 'translacja', 'obrot' lub 'skalowanie') wartość parametru 'wymiar' jest wektorem trójelementowym o postaci: T = [tx ty 0] - translacja o wektor o składowych t x (oś x) i t y (oś y) (wartości składowych tx i ty wektora w pikselach) T = [0 0 α] - obrót o kąt α (wartość kąta w radianach) T = [sx sy 0] - skalowanie o czynnik sx dla osi x i sy dla osi y 'kierunek' W przypadku transformacji wykorzystujących rachunek macierzowy ('typ' = 'Tform') wartość parametru 'wymiar' jest macierzą T w odpowiedniej postaci (Tabela 1). Łańcuch znakowy określający kierunek transformacji. W przypadku transformacji wykorzystujących układy równań współrzędnych ('typ' = 'translacja', 'obrot' lub 'skalowanie'): 'wprost' - element o współrzędnych (v,w) w obrazie pierwotnym jest Ćwiczenie 3 - Interpolacja i przekształcenia geometryczne obrazów 5/9

kopiowany do elementu o współrzędnych (x,y) w obrazie wynikowym; wartości współrzędnych (x,y) wynikają z układu równań opisujących zastosowane przekształcenie; 'odwrotny' - do piksela o współrzędnych (x,y) w obrazie wynikowym kopiowany jest piksel o współrzędnych (v,w) z obrazu pierwotnego; wartości współrzędnych (v,w) wynikają z układu równań opisujących zastosowane przekształcenie odwrotne. W przypadku, gdy typ transformacji określony jest jako 'Tform', kierunek transformacji jest zawsze odwrotny, niezależnie od podanej wartości parametru 'kierunek'. Tabela 1. Wybrane przekształcenia geometryczne obrazu Przekształcenie Macierz T Układ równań współrzędnych punktów translacja (wartości składowych wektora tx i ty w punktach) T=[ 1 0 0 1] x=v t x 0 1 0 y=w t tx ty =[ x cos sin 0 1] x=v cos α w sin α obrót o kąt α T sin cos 0 y=v sin α w cos α 0 0 x 0 0 Skalowanie T=[s 1] x=s x v 0 s y 0 y=s y w 0 0 Przykłady: Z = przeksztalc_obraz(x,'typ','translacja','wymiar',[5.5 11 0],... 'kierunek','wprost'); Powyższe polecenie wykona operację translacji obrazu X o wektor o składowych tx=5.5, ty=11, współrzędne obrazu wejściowego zostaną wprost przekształcone na współrzędne obrazu wynikowego z wykorzystaniem równań opisujących przekształcenie (translację). tform = [1 0 0; 0 1 0; 5.5 11 1]; Z = przeksztalc_obraz(x,'typ','tform','wymiar',tform); Powyższe polecenie wykona operację translacji obrazu X o wektor tx=5.5, ty=11, z wykorzystaniem rachunku macierzowego. Ćwiczenie 3 - Interpolacja i przekształcenia geometryczne obrazów 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. Interpolacja. a) Z plików 'kidneys.bmp', 'kidneys_ds2.mat', 'kidneys_ds4.mat' i 'kidneys_ds8.mat' załaduj do przestrzeni roboczej obraz kidneys, oraz obrazy: kidneys_ds2, kidneys_ds4 i kidneys_ds8. Trzy ostatnie obrazy są wynikiem odpowiednio 2-, 4- i 8-mio krotnej decymacji ( podpróbkowania ) obrazu kidneys. b) Wyświetl obrazy: kidneys, kidneys_ds2, kidneys_ds4 i kidneys_ds8 (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). c) Przywróć pierwotny rozmiar każdemu ze zdecymowanych obrazów stosując kolejno trzy rodzaje interpolacji: dwuliniową (ang. bilinear), dwusześcienną (ang. bicubic) i metodę najbliższego sąsiada (ang. nearest neighbour) (imresize standardowa funkcja biblioteki Image Processing pakietu MATLAB). d) Wyświetl obrazy po zmianie rozmiaru dla każdej z metod interpolacji (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa') i porównaj z obrazem kidneys. e) Dla każdej metody interpolacji oceń dokładność operacji zmiany rozmiaru obrazu stosując jako kryterium błąd średnio-kwadratowy (mse). f) Wyniki przedstaw jako wykres błędu średnio-kwadratowego w funkcji krotności interpolacji (plot). Która z zastosowanych metod interpolacji jest najdokładniejsza i dlaczego? Od czego zależy dokładność metody interpolacji? g) Oceń szybkość każdej z trzech metod metod interpolacji dwuliniowej, dwusześciennej i metody najbliższego sąsiada. W tym celu dla obrazu kidneys wykonaj kolejno jego powiększenie dla krotności powiększenia (interpolacji) równych: 2,4,6,,30 (2:2:30) oraz dla trzech metod interpolacji: dwuliniowej, dwusześciennej i metody najbliższego sąsiada (pętla for, instrukcje: tic toc, funkcja imresize). h) Wyniki przedstaw jako wykres czasu wyznaczania powiększonego obrazu względem krotności jego powiększenia (interpolacji) (plot). Ćwiczenie 3 - Interpolacja i przekształcenia geometryczne obrazów 7/9

Która z zastosowanych metod interpolacji jest najszybsza i dlaczego? 1. Przekształcenia geometryczne. a) Z pliku 'simpson256.bmp' załaduj do przestrzeni roboczej obraz simpson. b) Wyświetl obraz simpson (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). c) Wykonaj trzy przekształcenia geometryczne obrazu simpson dla parametru 'kierunek' o wartości 'wprost' i dla następujących parametrów przekształcenia (parametry: 'typ' i 'wymiar'): translację o wektor o składowych tx=55.5 i ty=111 ('typ' = 'translacja'), obrót o kąt α = -30 ('typ' = 'obrot') skalowanie ze skalą o składowych sx=2 i sy=1.5 ('typ' = 'skalowanie'). d) Zilustruj wyniki przekształceń (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). e) Powtórz przekształcenia geometryczne obrazu simpson z p.p. c) dla parametru 'kierunek' o wartości 'odwrotne' (pozostałe parametry bez zmian). f) Zilustruj wyniki poszczególnych przekształceń (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). Dla jakiej wartości parametru 'kierunek' po przekształceniu geometrycznym uzyskujemy jakościowo lepsze obrazy i dlaczego (p. 1.c) i 1.e) )? 2. Zadanie g) Powtórz przekształcenia geometryczne obrazu simpson z p.p. c) dla parametru 'typ' o wartości 'Tform' (domyślna wartość parametru 'kierunek'). h) Zilustruj wyniki przekształceń (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). a) Porównaj czas realizacji przekształceń geometrycznych stosujących: składanie przekształceń prostych ('typ' = 'Tform') oraz przekształcenie złożone ('typ' = 'Tform'). Test przeprowadź dla 100-krotnej translacji obrazu simpson o wektor tx=1 (pętla for, instrukcje tic toc). b) Zilustruj wyniki p.p. a) (pokaz_obraz, domyślne wartości parametrów: 'typ' i 'mapa'). Wyjaśnij dlaczego uzyskane czasy realizacji przekształceń są różne? Ćwiczenie 3 - Interpolacja i przekształcenia geometryczne obrazów 8/9

Sprawozdanie Ćwiczenie 3 Interpolacja i przekształcenia geometryczne 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 3 - Interpolacja i przekształcenia geometryczne obrazów 9/9