Laboratorium Cyfrowego Przetwarzania Obrazów

Transkrypt

Laboratorium Cyfrowego Przetwarzania Obrazów
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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
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
Opis i wartości parametru
'mapa'
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;
'typ'
Ł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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
E= mse (X,XI)
Funkcja służy do wyznaczania błędu średnio-kwadratowego określonego wzorem:
m
n
1 1
E= ⋅ ∑ ∑  X ij − XI ij 2
m n i=1 j=1
gdzie: Xij - element obrazu wzorcowego, XIij - 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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
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.
Nazwa parametru
'typ'
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)
'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)
'wymiar'
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 ty (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
W przypadku transformacji wykorzystujących rachunek
macierzowy ('typ' = 'Tform') wartość parametru 'wymiar' jest macierzą
T w odpowiedniej postaci (Tabela 1).
'kierunek'
Ł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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
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
translacja (wartości
składowych wektora tx i ty
w punktach)
1 0 0
T= 0 1 0
tx ty 1
obrót o kąt α
cos sin  0
T = −sin  cos  0
0
0
1
Skalowanie
sx 0 0
T= 0 s y 0
0 0 1
[
Układ równań współrzędnych punktów
]
[
x=vt x
y=wt x
]
x=v⋅cos α −w⋅sin α 
y=v⋅sinα w⋅cos α 
[ ]
x=s x v
y=s y w
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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
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,
– polecenie MATLAB'a, które należy wpisać w okno komend (ang.:
s1a=s1(1:end/4)
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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
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) )?
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').
2. Zadanie
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
Zakład Inżynierii Biomedycznej,
Wydział Mechatroniki,
Politechnika Warszawska.
Laboratorium CPOB
Sprawozdanie
Ćwiczenie 3 Interpolacja i przekształcenia geometryczne obrazów
L.p.
Imię i nazwisko
Grupa
Data wykonania
1
2
3
Punkt
Liczba punktów
Uzyskana
ćwiczenia do uzyskania liczba punktów
1
4
2
4
3
2
Uwagi prowadzącego
Ćwiczenie 3 - Interpolacja i przekształcenia geometryczne obrazów
9/9

Podobne dokumenty