background image

PRZETWARZANIE OBRAZÓW: 

Przekształcenia geometryczne 

III. 

 

 

 

 

 

 

 

  

© P.Ślusarczyk 2013 

 

   

 

 

 

 

 

 

Strona 1 z 2 

 

1. 

Środowisko programistyczne  

a.  Dev-C++: 

 

http://www.bloodshed.net/devcpp.html

 

b.  Microsoft Visual C++ Express: 

http://www.microsoft.com/visualstudio/eng/

 

c.  CImg:   

http://cimg.sourceforge.net/

 

d.  ImageMagick: 

http://www.imagemagick.org/script/index.php

 

 

2. 

Wykorzystując bibliotekę CImg, napisz program w języku C++ realizujący obrót 
dowolnego obrazu z pliku 

o kąt 90

w prawo lub w lewo.  

 
3. 

Wykorzystując bibliotekę CImg, napisz program w języku C++ generujący poniższy 
obraz. 

 

 

 

Obraz ‘Fig0241(c)(einstein 

high contrast).tif’ znajduje się w pliku: 

http://www.imageprocessingplace.com/downloads_V3/dip3e_downloads/ 
dip3e_book_images/DIP3E_CH02_Original_Images.zip

 

 

 

4. 

Napisz program demonstracyjny powiększający metodą najbliższego sąsiada macierz 

kwadratową liczb całkowitych o rozmiarze 3x4 do rozmiaru 4x5. 
 

• 

Współczynniki skalowania: 

dla zmiany 3𝑥4  ⇒ 4𝑥5:      𝑆

𝑥

=

4
3 = 1,33     𝑆

𝑦

=

5
4 = 1,2  

• 

Współrzędne rzeczywiste obrazu przeskalowanego: 

𝑥

𝑟

=

𝑥

𝑆

𝑥

                𝑦

𝑟

=

𝑦

𝑆

𝑦

 

• 

Określenie współrzędnych najbliższego odpowiednika (sąsiada): 

𝑥

𝑜𝑑𝑝

= 𝑓𝑙𝑜𝑜𝑟(𝑥

𝑟

)           𝑦

𝑜𝑑𝑝

= 𝑓𝑙𝑜𝑜𝑟(𝑦

𝑟

 

Przyk

ładowe 

w

spółrzędne obrazu 

przeskalowanego 

Obraz oryginalny 

Współrzędne rzeczywiste 

odpowiednika 

Najbliższy odpowiednik 

(0,0) 

(0, 0) 

(0,0) 

(1,1) 

(0.75, 0.83) 

(0,0) 

(2,2) 

(1.50, 1.67) 

(1,1) 

(3,3) 

(2.36, 2.50) 

(2,2) 

(3,4) 

(2.36, 3,33) 

(2,3) 

(1,4) 

(0,75, 3,33) 

(0,3) 

(3,1) 

(2,36, 0,83) 

(2,0) 

 

Przykładowy obraz: kropkami zaznaczono środki pikseli obrazu oryginalnego, 
natomiast 

linią ciągłą piksele obrazu wyjściowego 

 

 

background image

PRZETWARZANIE OBRAZÓW: 

Przekształcenia geometryczne 

III. 

 

 

 

 

 

 

 

  

© P.Ślusarczyk 2013 

 

   

 

 

 

 

 

 

Strona 2 z 2 

 

 

5. 

Wykorzystując bibliotekę CImg, napisz program realizujący interpolację obrazu 

metodą najbliższego sąsiada. Program będzie umożliwiał zmniejszanie i 

powiększanie dowolnego obrazu z pliku. 

 

6. 

Wykorzystując oprogramowanie GIMP, przeprowadź analizą porównawczą 
wybranych algorytmów interpolacji.  

a. 

Zachowując współczynnik proporcji, zmniejsz badany obraz do 1/10 
rozmiaru 

początkowego, a następnie przywróć rozmiar oryginalny. 

b.  Badania przeprowad

ź z wykorzystaniem obrazów z pliku 

http://www.imageprocessingplace.com/downloads_V3/dip3e_downloads/ 
dip3e_book_images/DIP3E_CH02_Original_Images.zip

 

•  'Fig0220(a)(chronometer 3692x2812  2pt25 inch 1250 dpi).tif'  
•  'Fig0219(rose1024).tif' 

 

7. 

Wykorzystując bibliotekę CImg, napisz program realizujący obrót obrazu o dowolny 

kąt.