Képek transzformációja
Képek forgatása
Képek forgatását az imrotate() függvénnyel végezhetjük. A függvény paramétereként megahatjuk a forgatási szöget fokban, a forgatás során végrehajtott interpolációt, valamint vágás mértékét.
Interpolációs módszerek:
- legközelebbi szomszéd,
- bilineáris,
- köbös interpoláció
A vágási módszerek lehetnek befoglaló téglalapra vonatkozó, vagy pedig "levágó" módszerek. A befoglaló téglalap esetén az eredménykép akkora lesz, mint az elforgatott kép befoglalló téglalapja, az üres területek kitöltésre kerülnek. A "levágó" módszer megőrzi a kép eredeti méretét és a kilógó részeket levágja a képről.
Példa:
>> img = imread('szeder.jpg');
>> img_40 = imrotate(img, 40, 'bilinear');
>> img_40_crop = imrotate(img, 40, 'bilinear', 'crop');
Kép átméretezése
A kép átméretezését az imresize() függvény végzi. A függvény paramétereként itt is meg lehet adni a skálafaktorokat, valamint lehetőség van kép méretének beállítására, valamint az interpolációs módszer kiválasztására is.
Példa:
>> img = imread('szeder.jpg');
>> img_3x = imresize(img,3, 'bilinear');
Képek általános transzformációja
Általános transzformáció végrehajtására is van lehetőség. Az imtransform() és imwarp() függvények általános transzformációkat hajtanak végre. A függvények paramétereként meg kell adni a képmátrixot és a transzformációs mátrixot. További paraméterként megadható az interpoláció típusa.
Példa:
>> img = imread('szeder.jpg');
>> tform = maketform('affine', [ 1, 0, 0; 0.5, 1, 0; 0, 0, 1 ]);
>> img_shear = imtransform(img, tform);
>> imshow(img_shear);