Konspekt CPO cw 4

background image

IV ROK GIK. PRZEDMIOT:  CYFROWE PRZETWARZANIE OBRAZU ‐ ĆWICZENIA 

wersja  140414

 

CPO ‐ ćw.4. Zmiana geometrii  obrazów ‐  dr inż. Sławomir Mikrut 

 

Ćwiczenie_4. Zmiana geometrii obrazów 

 

• Cel tematu 

Celem ćwiczenia jest zapoznanie się studentów z zagadnieniem zmiany geometrii obrazów 
cyfrowych  oraz metodami interpolacji.  
 
•  Dane do ćwiczeń 

Na ćwiczeniach korzystamy z danych (plik: test_4.jpg) zlokalizowanych : 
‐ na stronie 

http://fotogrametria.agh.edu.pl/wiki/bin/view/Dydaktyka/CPOMaterSt

 

 
 
• Przebieg ćwiczeń  

1. Część teoretyczna 

1.1 Zmiana geometrii obrazu 

Zmiana  geometrii  obrazu  ma  na  celu  zastąpienie  obrazu  wejściowego  (pierwotnego),  nowym  – 

wyjściowym  (wtórnym)  wyliczając  pozycje  pikseli  na  podstawie  zadanej  funkcji  matematycznej. 

Ponieważ  rozmiar  obrazu  wyjściowego  może  być  inny  niż  wejściowego,  zmieniamy  zatem  jego 

geometrie.  Odbywa  się  to  poprzez  zastosowanie  wybranej  transformacji.  Najczęściej 

wykorzystywane w geodezji i kartografii transformacje to: Helmerta, afiniczna, biliniowa, rzutowa 

czy wielomianowa. Swoje zastosowanie praktyczne ma najczęściej w procesie kalibracji podkładów 

mapowych,  wykonywaną  w  oparciu  o  punkty  o  znanych  współrzędnych  (punkty  osnowy, 

szczegółów sytuacyjnych, siatka krzyży itp. ). Podstawowymi elementami transformacji są:  

‐ zmiana skali (może być jednakowa dla całego obrazu, ale nie musi),  

‐ obrót wokół dowolnego punktu, 

‐ przesunięcie. 

Przy zmianie geometrii obrazu zachodzi konieczność wyliczenia jasności pikseli dla nowego obrazu. 

Istnieje  kilka  metod  interpolacji  wartości  jasności  pikseli  z  obrazu  pierwotnego  na  wtórny.  Do 

najpopularniejszych  należy  zaliczyć:  najbliższego  sąsiada  (ang.  nearest),  bilingową  (ang.  bilinear)

bikubiczną  (ang.  bicubic).  Wspomniany  proces  nazywany  jest  również  przepróbowaniem  (ang. 

resamplingiem) obrazu cyfrowego. 

background image

IV ROK GIK. PRZEDMIOT:  CYFROWE PRZETWARZANIE OBRAZU ‐ ĆWICZENIA 

wersja  140414

 

CPO ‐ ćw.4. Zmiana geometrii  obrazów ‐  dr inż. Sławomir Mikrut 

 

2. Część praktyczna 

2.1  

Zmiana skali obrazu 

Do zmiany skali obrazu służy funkcja imresize wywoływana przy pomocy różnych parametrów. 

Do zmiany skali, jednakowej dla całego obrazu można wykorzystać parametr skale lub podać ile 

wierszy i kolumn ma mieć nowy obraz. Można również podać metodę interpolacji pikseli 

wyliczonych dla nowego obrazu: 

Imresize(image, scale);

Imresize(image, [numrow numcol]);

Imresize(image, [numrow numcol], method);

 

Można również dokonywać resamplingu obrazu przy pomocy różnych parametrów (np. 

antialiasing). Wówczas wywołanie ma postać:

Imresize(image, scale, method, parameter, value);

 

2.2  Obrót 

Obraz wejściowy można poddawać zmianom dzięki funkcji: 

Imrotate(images, angle, method, bbox);

Gdzie parametry opisane są następująco (podkreślono wartości przyjmowane default‐owo przez 

program): 

‐ angle: kąt obrotu podany w stopniach i liczony odwrotnie do ruchu wskazówek zegara, 

‐ method: metoda interpolacji: nearest (najbliższego sąsiada), bilinear (biliniowa), bicubic 

(bikubiczna),   

‐ bbox:  z wartościami:  crop (przycięty do wielkości obrazu wejściowego), loose (pozostawienie 

rozmiaru), 

 

2.3 Przesunięcie 

W Matlabie operacja przesunięcia obrazu jest wykonywana poprzez dodanie sztucznie wierszy i 

kolumn do macierzy obrazu. Jeśli przyjmiemy, że: 

I1

– obraz wejściowy o „r” ‐ wierszach i „c”‐ kolumnach [r1, c1] ,  

I2

– obraz wyjściowy [r2, c2],  

background image

IV ROK GIK. PRZEDMIOT:  CYFROWE PRZETWARZANIE OBRAZU ‐ ĆWICZENIA 

wersja  140414

 

CPO ‐ ćw.4. Zmiana geometrii  obrazów ‐  dr inż. Sławomir Mikrut 

wektor przesunięcia‐ [r0, c0], 

to jeśli [r1, c1] =  size (L1);   wówczas obraz I2 będzie zdefiniowany: 

I2=[zeros([r1 c0]), L1; zeros([r0 (c0+c1)])];


Przesunięcie obrazu można również wykonać przy pomocy funkcji translate(SE,V),

gdzie  SE  jest  tablicą  elementów  strukturalnych  tworzonych  przy  pomocy  funkcji 

strel(shapes, parameters),

V  –  jest    n  ‐  elementowym  wektorem  mówiącym  o 

wielkości przesunięcia. Stosując funkcję imdilate(image, SE).

Funkcję  tą  wykorzystuje  się  wówczas,  gdy  chcemy  przesunąć  obraz  z  zachowaniem  tej  samej 

rozdzielczości  (wielkość  obrazu  wejściowego  i  wyjściowego  jest  taka  sama).  Poprzedni  przykład 

(otrzymany  obraz  I2),  przesunął  obraz,  ale  niejako  zmienił  też  jego  rozdzielczość  (do  obrazu 

wejściowego  dodał  tablice  o  powierzchni  zdefiniowanej  przez  wektory  przesunięcia,  co 

powiększyło obraz wejściowy).  

Aby przesunąć obraz I1 o wektor [r0,c0], należy wykonać funkcje: 

SE = translate (strel(1), [r0 c0]);

 ‐ definiowanie element strukturalnego; 

I3 = imdilate(I1, SE)

 – rozszerzenie obrazu I1 o wektor zdefiniowany w SE. 

 

Proszę spróbować wykonać przesunięcie dowolnego obrazu oboma metodami. 

 

2.4 Inne funkcje przydatne przy zmianie geometrii obrazów 

 

‐ odbicie symetryczne obrazów (funkcje:  fliplr(image) oraz flipud(image)); 

‐ zniekształcenia obrazu (funkcja: reshape(image, rows, columns)); 

‐  maketform, imtransform (z parametrami:  ‘affine’, ‘projective’, ’polynomial’),  

 

 

 

 

 

 

 

background image

IV ROK GIK. PRZEDMIOT:  CYFROWE PRZETWARZANIE OBRAZU ‐ ĆWICZENIA 

wersja  140414

 

CPO ‐ ćw.4. Zmiana geometrii  obrazów ‐  dr inż. Sławomir Mikrut 

Zadanie 

Każdy student oblicza swój numer n jako sumę ng (numer grupy) i ns (nr studenta w grupie), 
 czyli ng + ns
 

1. Wczytać obraz test_4.jpg. 

2. Sprawdzić jego wymiar (ile wierszy a ile kolumn i przypisać zmienne odpowiednio r i c ). 

3. Utworzyć nowy obraz (I2), którego narożniki będą miały współrzędne r+n, c +n, poprzez 

zmianę skali obrazu. Wykorzystać parametr antialiasing oraz bez tego parametru.  

Obrazy porównać i wyciągnąć wnioski. Sprawdzić wielkość nowego obrazu. 

4. Następnie  obrócić obraz w kierunku zgodnym z ruchem wskazówek zegara o kąt  

alfa =30 gradów + n  (uwaga na jednostki !). Obrócony obraz (I3) „dociąć” do wymiaru 

obrazu wejściowego (r+n i c+n). 

5. Dokonując obrotu skorzystać z wszystkich 3 dostępnych metod interpolacji (I3,I4,I5). 

6. Zapisać każdy obraz osobno i przeanalizować jaki wpływ ma rodzaj metody interpolacji. 

Wyciągnąć wnioski. 

7. Wykonać profil dla każdego obrazu po przekątnej i przeanalizować różnice.   

8. Zapisać wszystkie 3 obrazy w jednym pliku (I6) umiejscawiając je jeden obok drugiego. 

Sprawdzić wielkość nowego pliku. 

9. Przesunąć obraz o wektor 100+n, 100+(I7).  

10. Przesunąć obraz o wektor 100+n, 100+n, ale umieścić obraz wejściowy w lewym górnym 

rogu obrazu wyjściowego (I8). Przesunięcie wykonać zwiększając wielkość  obrazu 

wejściowego (I2) oraz zachowując rozdzielczość obrazu wejściowego (imdilate) .  

Oznaczyć jako(I9). Obrazy wyświetlić, porównać. Sprawdzić rozmiary. 

11.  Dokonać odbicia obrazu symetrycznie względem osi pionowej i poziomej. 

12. Zrobić ramkę dookoła obrazu wejściowego  test_4.jpg (I1) o szerokości n z każdej strony. 

13. Rozpoznać działanie funkcji maketform, imtransform przy różnych parametrach na 

przykładach. 

14. Wypuścić plik tekstowy o swoim nazwisku, nr ćw. i rozszerzeniu *.txt (np. Nowak_4.txt), w 

którym należy podać swój numer n, oraz wyliczony wymiar obrazu (I2) ‐  pkt.3 zadania.  

Plik należy uzupełnić swoimi wnioskami wynikającymi z pkt. 3, 6  i 13. 

15. Wyniki pokazać prowadzącemu. 


Wyszukiwarka

Podobne podstrony:
Konspekt CPO cw 2
Konspekt CPO cw 5
Konspekt CPO cw 1
Konspekt CPO cw 1
Konspekt CPO cw 3
Konspekt CPO cw 3
Konspekt CPO cw 2
konspekt basen cw. ze współcwicz, fizjoterapia, FIZJOTERAPIA, III SEMESTR, Basen, dla osob starszych
Konspekt do cw. lab.-termowizja, Energetyka Politechnika Krakowska Wydział Mechaniczny I stopień, Mi
cw z pilka konspekt zal ćw muz ruch
konspekt- noga(ćw.oswajaj.), Studia, Fizjoterapia, Studia - fizjoterapia, Kształcenie Ruchowe, piłka
konspekt basen cw. ze współcwicz, fizjoterapia, FIZJOTERAPIA, III SEMESTR, Basen, dla osob starszych
Konspekt ćw 1

więcej podobnych podstron