Tải bản đầy đủ (.docx) (17 trang)

Các phép biến đổi không gian ảnh (Spatial Transformation) gồm: Resizing an Image, Rotating an Image, Cropping an Image, một số phương pháp nội suy ảnh trong matlab, các hàm của Matlab (Image Processing ToolboxSpatial Transformations)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (340.58 KB, 17 trang )

TRƯỜNG ĐẠI HỌC NÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN
QUẢN TRỊ MẠNG
Đề tài: “Các phép biến đổi không gian ảnh (Spatial Transformation) gồm:
Resizing an Image, Rotating an Image, Cropping an Image, một số phương pháp
nội suy ảnh trong matlab, các hàm của Matlab (Image Processing Toolbox\Spatial
Transformations)”

Giảng viên hướng dẫn: TS. Nguyễn Thị Thủy
Nhóm sinh viên thực hiện:
1. Nguyễn Thị Diệu Lương
2. Nguyễn Thị Nha Trang
3. Lê Thị Thanh Vân
4. Nguyễn Thùy Vân
Lớp: Tin học B – K52

1


Hà Nội, 2011

MỤC LỤC
I.

Tổng quan về phép biến đổi không gian ảnh(spatial transformation) 1
1.

Khái niệm phép biến đổi không gian ảnh(ST)............................................2


2.

Chức năng của phép biến đổi không gian ảnh.........................................3

II.

Các phép biến đổi không gian ảnh..........................................................4
1.....................................................Chỉnh kích cỡ ảnh(resizing an image)
.....................................................................................................................6
2...................................................................Quay ảnh(rotating an image)
.....................................................................................................................6
3.....................................................................Cắt ảnh(cropping an image)
.....................................................................................................................6
4..........Một số phương pháp nội suy ảnh và hàm của ST trong matlab
.....................................................................................................................6
4.1. Một số phương pháp nội suy ảnh của ST trong matlab ………………1
4.2. Một số hàm của ST trong matlab 1

III.

Demo..........................................................................................................1
TÀI LIỆU THAM KHẢO .................................................................1

2


I.

Tổng quan về phép biến đổi không gian ảnh(spatial transformation)
1. Khái niệm phép biến đổi không gian ảnh(ST)

Phép biến đổi hình học(geometric transformation, geometric spatial
transformation, spatial transformation) là phép biến đổi dùng để thay
đổi mối quan hệ không gian giữa các pixel(điểm ảnh) trong ảnh. Nó
được thực hiện qua hai bước: dùng phép chuyển đổi không gian theo
tọa độ(spatial transformation of coordinates), phép toán nội suy cường
độ(intensity interpolation, grey-level interpolation).
Phép toán nội suy cường độ(intensity interpolation) là phép toán
thực hiện gán giá trị mức xám cho điểm ảnh được chuyển đổi. Trong
khi đó, phép biến đổi không gian theo tọa độ là một phép biến đổi hình
học của hệ tọa độ ảnh.
Bản chất của phép biến đổi không gian phồi hợp là ánh xạ vị trí
điểm ảnh của ảnh gốc tới vị trí mới ở ảnh đầu ra. Giả sử một điểm ảnh
ở vị trí (x,y) qua phép biến đổi không gian T có vị trí mới là (x’,y’),
trong đó x’ = Tx(x,y) : y’=Ty(x,y).
2. Chức năng của phép biến đổi không gian ảnh
Phép biến đổi không gian thực hiện các chức năng sau:
-canh chỉnh những ảnh được chụp ở các thời điểm khác nhau hoặc với
các cảm biến khác nhau
-sửa ảnh cho sự biến dạng của ống kính
-sửa sự tác động hướng camera
-kỹ xảo hình ảnh hoặc các hiệu ứng đặc biệt khác

3


II.

Các phép biến đổi không gian ảnh
Phép biến đổi không gian theo tọa độ có thể chia tỉ lệ, quay, dịch
chuyển hoặc cắt một tập tọa độ các điểm ảnh, phụ thuộc vào giá trị được

chọn cho các phần tử của ma trận F nào đó.
1.

Chỉnh kích cỡ ảnh(resizing an image)
Xét một điểm ảnh có tọa độ(x1,x2,x3) trong không gian 3 chiều.
Phép chỉnh kích cỡ ảnh được biểu diễn dưới đây biến đổi tọa độ điểm
ảnh ban đầu thành tọa độ(y1,y2,y3):

2.

Quay ảnh(rotating an image)

Xét một điểm có tọa độ(x1,x2) trong không gian hai chiều qua phép
quay theo góc Ɵ (radian) quanh gốc O được tọa độ mới(y1,y2). Phép quay
đó được thể hiện như sau:
y1 = cos(θ)x1 + sin(θ)x2
y2 = −sin(θ)x1 + cos(θ)x2
Trường hợp trong không gian 3 chiều, phép quay của những
mặt phẳng của nó thông thường được mô tả quay theo các trục tương ứng.
Phép quay 1 góc q1 theo trục x là:

Tương tự, phép quay theo trục y và z lần lượt là:

4




3.


Cắt ảnh(cropping an image)
Phép cắt ảnh được biểu diễn bởi ma trận sau:

4.

Thuật toán và hàm của phép biến đổi không gian trong matlab

Công cụ matlab(Image Processing Toolbox) bao gồm các hàm thực
hiện một số phép chuyển đổi không gian đặc biệt như chỉnh kích cỡ ảnh,
quay ảnh…
4.1.






Một số phương pháp nội suy ảnh của phép biến đổi
không gian trong matlab
Resizing an image
Bước 1: đọc ma trận ảnh, dùng hàm imread
Bước 2: chỉnh sửa kích thước ảnh, dùng hàm resize
Bước 3: hiện kết quả, dùng hàm imshow
Rotating an image
Bước 1: đọc ma trận ảnh, dùng hàm imread
Bước 2: quay ảnh, dùng hàm imrotate
Bước 3: hiện kết quả, dùng hàm imshow
Cropping an image
Bước 1: đọc ma trận ảnh, dùng hàm imread
Bước 2: cắt ảnh, dùng hàm imcrop

Bước 3: hiện kết quả, dùng hàm imshow

5


Một số hàm của phép biến đổi không gian trong matlab
4.2.1. Các kiểu ảnh trong matlab
*Ảnh được định chỉ số (Indexed Images)
Một ảnh chỉ số bao gồm một ma trận dữ liệu X và ma trận bản
đồ màu map. Ma trận dữ liệu có thể có kiểu thuộc lớp uint8, uint16
hoặc kiểu double. Ma trận bản đồ màu là một mảng mx3 kiểu double
bao gồm các giá trị dấu phẩy động nằm giữa 0 và 1. Mỗi hàng của bản
đồ chỉ ra các giá trị mà: red, green và blue của một màu đơn. Một ảnh
chỉ số sử dụng ánh xạ trực tiếp giữa giá trị của pixel ảnh tới giá trị
cách sử dụng giá trị tương ứng của X ánh xạ tới một giá trị chỉ số của
map. Giá trị 1 chỉ ra hàng đầu tiên, giá trị 2 chỉ ra hàng thứ hai trong
bản đồ màu …
Một bản đồ màu thường được chứa cùng với ảnh chỉ số và được
tự động nạp cùng với ảnh khi sử dụng hàm imread để đọc ảnh. Tuy
nhiên, ta không bị giới hạn khi sử dụng bản đồ màu mặc định, ta có
thể sử dụng bất kì bản đồ màu nào.
*Ảnh cường độ (Intensity Images)
4.2.

Một ảnh cường độ là một ma trận dữ liệu ảnh I mà giá trị của
nó đại diện cho cường độ trong một số vùng nào đó của ảnh. Matlab
chứa một ảnh cường độ như một ma trận đơn, với mỗi phần tử của
ma trận tương ứng với một pixel của ảnh. Ma trận có thể thuộc lớp
double, uint8 hay uint16. Trong khi ảnh cường độ hiếm khi được lưu
với bản đồ màu, Matlab sử dụng bản đồ màu để hiển thị chúng.

Những phần tử trong ma trận cường độ đại diện cho các cường
độ khác nhau hoặc độ xám. Những điểm có cường độ bằng 0 thường
được đại diện bằng màu đen và cường độ 1,255 hoặc 65535 thường
đại diện cho cường độ cao nhất hay màu trắng.
*Ảnh nhị phân (Binary Images)
Trong một ảnh nhị phân, mỗi pixel chỉ có thể chứa một trong
hai giá trị nhị phân 0 hoặc 1. Hai giá trị này tương ứng với bật hoặc tắt
(on hoặc off). Một ảnh nhị phân được lưu trữ như một mảng logic của
0 và 1.
* Ảnh RGB (RGB Images)
Một ảnh RGB - thường được gọi là true-color, được lưu trữ
trong Matlab dưới dạng một mảng dữ liệu có kích thước 3 chiều
6


mxnx3 định nghĩa các giá trị màu red, green và blue cho mỗi pixel
riêng biệt. Ảnh RGB không sử dụng palette. Màu của mỗi pixel được
quyết định bởi sự kết hợp giữa các giá trị R, G, B (Red, Green, Blue)
được lưu trữ trong một mặt phẳng màu tại vị trí của pixel. Định dạng
file đồ hoạ lưu trữ ảnh RGB giống như một ảnh 24 bits trong đó R, G,
B chiếm tương ứng 8 bit một. Điều này cho phép nhận được 16 triệu
màu
khác
nhau.
Một mảng RGB có thể thuộc lớp double, uint8 hoặc uint16. Trong
một mảng RGB thuộc lớp double, mỗi thành phần màu có giá trị giữa
0 và 1. Một pixel mà thành phần màu của nó là (0, 0, 0) được hiển thị
với màu đen và một pixel mà thành phần màu là (1, 1, 1 ) được hiển
thị với màu trắng. Ba thành phần màu của mỗi pixel được lưu trữ cùng
với chiều thứ 3 của mảng dữ liệu. Chẳng hạn, giá trị màu R, G, B của

pixel (10, 5) được lưu trữ trong RGB(10, 5, 1), RGB(10, 5, 2) và
RGB(10,
5,
3)
tương
ứng.
Để tính toán màu sắc của pixel tại hàng 2 và cột 3 chẳng hạn, ta nhìn
vào bộ ba giá trị được lưu trữ trong (2, 3, 1:3). Giả sử (2, 3, 1) chứa
giá trị 0.5176; (2, 3, 2) chứa giá trị 0.1608 và (2, 3, 3) chứa giá trị
0.0627 thì màu sắc của pixel tại (2, 3) sẽ là (0.5176, 0.1608, 0.0627).
4.2.2. Các hàm chuyển đổi không gian trong matlab
a.

Hàm imresize

Để điều chỉnh kích cỡ ảnh, ta dùng hàm imresize với các thông số đi
kèm. Sử dụng hàm này ta có thể xác định kích cỡ của ảnh đầu ra, phương
pháp nội suy được sử dụng và bộ lọc dùng để chặn răng cưa.
Cú pháp của hàm imresize được biểu diễn theo nhiều cách như sau:
B = imresize(A,m)
B = imresize(A,m,method)
B = imresize(A,[mrows ncols],method)
B = imresize(...,method,n)
B = imresize(...,method,h)
7


Trong đó: B = imresize(A,m) trả về một ảnh B có kích cỡ bằng m lần
kích cỡ của A. Ảnh A có thể là ảnh đa mức xám, RGB hay ảnh nhị
phân. Nếu m nằm trong khoảng (0,1) thì B nhỏ hơn A. Ngược lại, B

lớn hơn A.
B = imresize(A,m,method) trả về một ảnh có kích cỡ gấp m lần kích cỡ
của ảnh A, dùng phương pháp nội suy được chỉ ra bởi tham số
method. Tham số này là một xâu có thể có một trong các giá trị dưới
đây.
Value
'nearest'
'bilinear'
'bicubic'

description
Nearest-neighbor interpolation (the default)
Bilinear interpolation
Bicubic interpolation
Bảng 4.2a

B = imresize(A,[mrows ncols],method) trả về một ảnh có kích cỡ
mrows x ncols. Nếu kích cỡ của ảnh đầu ra có tỉ lệ không bằng nhau
thì ảnh sẽ bị biến dạng. Cụ thể, khi kích cỡ ảnh đầu ra nhỏ hơn kích cỡ
ảnh đầu vào và method là 'bilinear' hoặc 'bicubic' thì imresize áp dụng
bộ lọc thông thấp trước khi phép nội suy làm giảm lượng răng cưa.
Kích cỡ mặc định của bộ lọc là 11x11.
Ta có thể chỉ ra thứ tự khác nhau cho bộ lọc mặc định dùng hàm
sau:
B = imresize(...,method,n) với n là số nguyên chỉ ra kích cỡ bộ lọc.
Nếu n=0 thì hàm imresize bỏ qua bước lọc.
Ngoài ra ta có thể dùng hàm imresize với bộ lọc tùy chọn
B = imresize(...,method,h)
với h là bộ lọc FIR hai chiều(ftrans2, fwind1, fwind2, fsamp)
-xác định kích cỡ của ảnh đầu ra: theo 2 cách

+xác định nhân tố phóng đại(magnification factor)

8


Để phóng to ảnh, ta cho nhân tố phóng đại lớn hơn 1. Ngược
lại, nhân tố phóng đại trong khoảng (0,1) ta được ảnh thu nhỏ. Ví dụ:
I = imread('circuit.tif');
J = imresize(I,1.25);
imshow(I)
figure, imshow(J)

+ xác định chiều của ma trận ảnh đầu ra
Ta có thể xác định kích cỡ của ảnh đầu ra bằng cách truyền một
vector chứa số hàng, số cột của ảnh đầu ra. Lệnh sau đây tạo một ảnh đầu
ra Y gồm có 100 hàng, 150 cột:
Y = imresize(X,[100 150])
-Xác định phương pháp nội suy
Mặc định, hàm imresize sử dụng phương pháp nội suy hàm xóm gần
nhất(nearest-neighbor interpolation) nhằm xác định giá trị của các pixel

9


trong ảnh đầu ra. Tuy nhiên, ta có thể thay phương pháp trên bằng những
phương pháp nội suy khác trong bảng 4.2a.
Trong ví dụ này, hàm imresize sử dụng phương pháp nội suy Bilinear:
Y = imresize(X,[100 150],'bilinear')
-dùng bộ lọc để ngăn chặn răng cưa
Việc giảm kích cỡ ảnh có thể xuất hiện các hiện vật trong ảnh đầu ra

như các răng cưa, vì thông tin luôn bị mất khi ta giảm kích cỡ ảnh. Răng
cưa xuất hiện như các mẫu gợn trong ảnh đầu ra.
b.

Hàm imrotate
Hàm imrotate dùng để quay ảnh, có các cách dùng sau đây:
B = imrotate(A,angle)
B = imrotate(A,angle,method)
B = imrotate(A,angle,method,bbox)
-Trong đó:
B = imrotate(A,angle) quay ảnh A một góc angle ngược chiều kim
đồng hồ, dùng phép nội suy ‘nearest’.
B = imrotate(A,angle,method) quay ảnh A một góc ngược chiều kim
đồng hồ và có dùng phép nội suy được xác định tùy ý thông qua thông
số method.
Value
'nearest'
'bilinear'
'bicubic'

description
Nearest-neighbor interpolation (the default)
Bilinear interpolation
Bicubic interpolation

Bảng 4.2b
B = imrotate(A,angle,method,bbox) quay ảnh A theo góc angle.
Thông số bbox xác định ranh giới của ảnh đầu ra, có giá trị mặc định
‘loose’, nhận một trong những giá trị sau đây:
Value

'crop'
'loose'

description
B chỉ gồm phần trung tâm của ảnh được
quay và có cùng kích cỡ với A
B gồm toàn bộ ảnh được quay và lớn hơn A.
Hàm imrotate cho giá trị các điểm ảnh bên
10


ngoài A bằng 0
Bảng 4.2c
Ví dụ: quay ảnh một góc 350 có dùng phép nội suybilinear
I = imread('circuit.tif');
J = imrotate(I,35,'bilinear');
imshow(I)
figure, imshow(J)

c.

Hàm imcrop
Hàm imcrop dùng để cắt ảnh. Nó có các cú pháp sau đây:
I2 = imcrop(I)
X2 = imcrop(X,map)
RGB2 = imcrop(RGB)
I2 = imcrop(I,rect)
X2 = imcrop(X,map,rect)
RGB2 = imcrop(RGB,rect)


[...] = imcrop(x,y,...)
[A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
Trong đó:
11


Imcrop cắt ảnh thành một khung chữ nhật có kích thước tùy ý. Trong
các cú pháp dưới đây, hàm này biểu diễn ảnh đầu vào và đợi cho đến
khi ta dùng chuột chỉ ra một khung chữ nhật có kích thước cụ thể.
I2 = imcrop(I)
X2 = imcrop(X,map)
RGB2 = imcrop(RGB)
Nếu ta bỏ các thông số đầu vào thì hàm imcrop sẽ thực hiện trên ảnh
theo các trục tọa độ hiện thời.
Ngoài ra, ta cũng có thể chỉ ra khung cắt hình chữ nhật một cách gián
tiếp bằng cú pháp
I2 = imcrop(I,rect)
X2 = imcrop(X,map,rect)
RGB2 = imcrop(RGB,rect)
rect là một vector có 4 phần tử [xmin ymin width height] dùng để xác
định vị trí của khung
Muốn thiết lập lại hệ tọa độ(mặc định hệ gồm 2 phần tử) cho ảnh đầu
vào ta dùng cú pháp
[...] = imcrop(x,y,...)
Nếu muốn cung cấp thêm thông số cho ảnh đầu ra thì ta có cú pháp
sau:
[A,rect] = imcrop(...)
[x,y,A,rect] = imcrop(...)
với A là ảnh đầu ra;

x, y là giá trị trên các trục hoành, trục tung của hệ tọa độ của ảnh
đầu vào
Ví dụ:
I = imread('circuit.tif');
I2 = imcrop(I,[75 68 130 112]);
imview(I), imview(I2)

12


d.

Hàm imtransform

Hàm imtransform áp dụng cho phép chuyển đổi không gian trong
không gian hai chiều. Nó có cú pháp như sau:
B = imtransform(A,TFORM)
B = imtransform(A,TFORM,INTERP)
[B,XDATA,YDATA] = imtransform(...)
[B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...)
Trong đó:
B = imtransform(A,TFORM) chuyển đổi ảnh A theo phép chuyển đổi
tùy chọn theo thông số TFORM, nhận giá trị maketform hoặc
cp2tform. Nếu ndims(A) > 2, ví dụ như ảnh RGB, thì phép chuyển đổi
trên sẽ tự động được áp dụng cho các mặt phẳng với số chiều lớn hơn.
B = imtransform(A,TFORM,INTERP) xác định phép nội suy sẽ được
sử dụng. INTERP( được mặc định là 'bilinear' ) nhận một trong các
giá trị dưới đây:
Value
'bicubic'

'bilinear'
'nearest'

description
Bicubic interpolation
Bilinear interpolation(the default)
Nearest-neighbor interpolation

[B,XDATA,YDATA] = imtransform(...) trả về vị trí của ảnh đầu ra B trong
không gian X-Y. XDATA và YDATA là các vector có hai phần tử. Các phần
13


tử của XDATA chỉ ra tọa độ x của cột đầu tiên và cột cuối cùng của ảnh B.
Các phần tử của YDATA chỉ ra tọa độ y của dòng đầu tiên và cột cuối cùng
của ảnh B.
[B,XDATA,YDATA] = imtransform(...,param1,val1,param2,val2,...) xác
định các thông số điều khiển các khía cạnh khác của phép chuyển đổi. Bảng
dưới đây liệt kê tất cả các thông số của phép chuyển đổi.
Parameter
'UData'
'VData'

'XData'
'YData'

'XYScale'

'Size'


'FillValues'

Description
Hai thông số này là các vector thực có hai phần tử. 'UData' và
'VData' xác định vị trí của ảnh A trong không gian U-V. Hai phần
tử của 'UData' đưa ra tọa độ u(hoành độ) của cột đầu tiên và cột
cuối cùng của A. Hai phần tử của 'VData' đưa ra tọa độ u(hoành
độ) của hàng đầu tiên và hàng cuối cùng của A.
Giá trị mặc định của 'UData' và 'VData' là [1 size(A,2)] và [1
size(A,1)]
Hai thông số này là các vector thực có hai phần tử. 'XData' và
'YData' xác định vị trí của ảnh đầu ra B trong không gian X-Y.
Hai phần tử của 'XData' đưa ra tọa độ x(hoành độ) của cột đầu
tiên và cột cuối cùng của A. Hai phần tử của 'YData' đưa ra tọa
độ y(hoành độ) của hàng đầu tiên và hàng cuối cùng của A.
Nếu 'XData' and 'YData' không được chỉ định thì imtransform
ước lượng các giá trị cho chúng với mặc định chứa toàn bộ ảnh
đầu ra.
Một vector gồm một hoặc hai phần tử. Phần tử đầu tiên của
'XYScale' chỉ ra độ rộng của mỗi pixel đầu ra trong không gian
X-Y. Phần tử thứ hai(nếu có) chỉ ra độ cao của pixel đầu ra. Nếu
'XYScale' chỉ có một phần tử thì độ rộng và độ cao của pixel
nhận cùng một giá trị.
Nếu 'XYScale' không được chỉ ra trong khi 'Size' lại có thì
'XYScale' được tính từ 'Size', 'XData', và 'YData'.
Nếu 'XYScale' và 'Size' đều không được chỉ ra thì tỉ lệ của các
pixel đầu vào được dùng cho 'XYScale'.
Một vector của hai phần tử nguyên. 'Size' xác định số dòng và cột
của ảnh đầu ra B. Vì số chiều cao hơn thì kích cỡ của B được
dùng trực tiếp từ kích cỡ của A. Mặt khác, size(B,k) =size(A,k)

với k>2. Nếu 'Size' không được chỉ ra thì nó được tính từ
'XData', 'YData', và 'XYScale'.
Một mảng chứa một hoặc nhiều giá trị. Những giá trị này được
14


dùng cho các pixel đầu ra khi vị trí được chuyển đổi tương ứng
trong ảnh đầu vào nằm ngoài biên.
Nếu A có hai chiều thì 'FillValues' là đại lượng vô hướng.
Nếu A có số chiều cao hơn thì 'FillValues' là một mảng có kích
cỡ
thỏa
mãn:
size(fill_values,k)=size(A,k+2)
hoặc
size(fill_values,k)=1
Nếu A là mảng 4 chiều thì 'FillValues' có thể là đại lượng vô
hướng, 1x10, 3x1, or 3x10
*Sử dụng hàm maketform
Khi sử dụng hàm này, ta chỉ ra kiểu biến đổi ta muốn thực hiện. Các
kiểu biến đổi mà maketform trợ giúp bao gồm:
+ ’ affine’: Biến đổi có thể bao gồm: translation ( dịch ), rotation ( quay ),
scaling(chỉnh kích thước), stretching và shearing(cắt). Các đường thẳng vẫn
là đường thẳng, đường song song vẫn song song nhưng hình chữ nhật có thể
bị biến đổi.
+ ’box’: Một trường hợp đặc biệt của affine khi mỗi chiều được dời và định
tỉ lệ độc lập
+ ‘composite ‘: Bao gồm tổ hợp của hai hay nhiều phép biến đổi
+ ‘custom ‘: Biến đổi do người dùng tự định nghĩa, nó cung cấp các hàm
thuận hoặc nghịch được gọi bởi hàm imtransform

+ ‘projective ‘: Biến đổi trong đó các đường thẳng vẫn giữ nguyên nhưng
các đường song song đồng quy lại thành một điểm.
*Sử dụng cp2tform
Ta sử dụng hàm này để tạo ra cấu trúc TFORM khi ta muốn thi hành
một biến đổi cần khít với các điểm dữ liệu như một biến đổi đa thức.
Chú ý: Khi sử dụng với hàm imtransform, cấu trúc TFORM phải định
nghĩa một biến đổi 2 chiều. Nếu một ảnh chứa nhiều hơn một chiều chẳng
hạn như ảnh RGB, cùng một biến đổi 2 chiều sẽ được áp đặt tới tất cả các
mặt phẳng 2 chiều theo chiều cao hơn, để định nghĩa một biến đổi n chiều sử
dụng hàm imformarrray.
*Ví dụ: đoạn mã sau sử dụng hàm này để thi hành một biến đổi projective
cho một ảnh bàn cờ
I = checkerboard(20,1,1);
figure; imshow(I)
T = maketform('projective',[1 1; 41 1; 41 41; 1 41],...
15


[5 5; 40 5; 35 30; -10 30]);
R = makeresampler('cubic','circular');
K = imtransform(I,T,R,'Size',[100 100],'XYScale',1);
figure, imshow(K)

III.

Demo

16



5. TÀI LIỆU THAM KHẢO
Harvey Rhody. Lecture 2: Geometric Image Transformations. Chester F.
Carlson Center for Imaging Science, Rochester Institute of Technology,
2005.
2. />3. />4. />5. />6. />kategori=1&otherposting=1&postingid=783&postingcode=16&tanggal=21
&bulan=7&tahun=2011&minggu=5
7. />kategori=1&otherposting=1&postingid=783&postingcode=16&tanggal=11
&bulan=8&tahun=2011&minggu=5
8. Xiangwei Zhang. Image Correction Using Geometric transformations.
Department of Electrical Engineering,Iowa State University.
9. />10. />1.

17



×