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)
Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
465,25 KB
Nội dung
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, số phương pháp nội suy ảnh matlab, hàm 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: Nguyễn Thị Diệu Lương Nguyễn Thị Nha Trang Lê Thị Thanh Vân Nguyễn Thùy Vân Lớp: Tin học B – K52 Hà Nội, 2011 MỤC LỤC I Tổng quan 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) 2 Chức phép biến đổi không gian ảnh .3 II Các phép biến đổi không gian ảnh Chỉnh kích cỡ ảnh(resizing an image) .6 Quay ảnh(rotating an image) .6 Cắt ảnh(cropping an image) .6 Một số phương pháp nội suy ảnh hàm ST matlab .6 4.1 Một số phương pháp nội suy ảnh ST matlab ………………1 4.2 Một số hàm ST matlab III Demo TÀI LIỆU THAM KHẢO I Tổng quan phép biến đổi không gian ảnh(spatial transformation) 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) phép biến đổi dùng để thay đổi mối quan hệ không gian pixel(điểm ảnh) ảnh Nó thực 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) phép toán thực gán giá trị mức xám cho điểm ảnh chuyển đổi Trong đó, phép biến đổi không gian theo tọa độ phép biến đổi hình học hệ tọa độ ảnh Bản chất phép biến đổi không gian phồi hợp ánh xạ vị trí điểm ảnh ảnh gốc tới vị trí ảnh đầu Giả sử điểm ảnh vị trí (x,y) qua phép biến đổi không gian T có vị trí (x’,y’), x’ = Tx(x,y) : y’=Ty(x,y) Chức phép biến đổi không gian ảnh Phép biến đổi không gian thực chức sau: -canh chỉnh ảnh chụp thời điểm khác với cảm biến khác -sửa ảnh cho biến dạng ống kính -sửa tác động hướng camera -kỹ xảo hình ảnh hiệu ứng đặc biệt khác II Các phép biến đổi không gian ảnh Phép biến đổi không gian theo tọa độ chia tỉ lệ, quay, dịch chuyển cắt tập tọa độ điểm ảnh, phụ thuộc vào giá trị chọn cho phần tử ma trận F Chỉnh kích cỡ ảnh(resizing an image) Xét điểm ảnh có tọa độ(x1,x2,x3) không gian chiều Phép chỉnh kích cỡ ảnh biểu diễn biến đổi tọa độ điểm ảnh ban đầu thành tọa độ(y1,y2,y3): Quay ảnh(rotating an image) Xét điểm có tọa độ(x1,x2) không gian hai chiều qua phép quay theo góc Ɵ (radian) quanh gốc O tọa độ mới(y1,y2) Phép quay thể sau: y1 = cos(θ)x1 + sin(θ)x2 y2 = −sin(θ)x1 + cos(θ)x2 Trường hợp không gian chiều, phép quay mặt phẳng thông thường mô tả quay theo trục tương ứng Phép quay góc q1 theo trục x là: Tương tự, phép quay theo trục y z là: Cắt ảnh(cropping an image) Phép cắt ảnh biểu diễn ma trận sau: Thuật toán hàm phép biến đổi không gian matlab Công cụ matlab(Image Processing Toolbox) bao gồm hàm thực số phép chuyển đổi không gian đặc biệt chỉnh kích cỡ ảnh, quay ảnh… 4.1 • • • Một số phương pháp nội suy ảnh phép biến đổi không gian 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: 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: 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: kết quả, dùng hàm imshow Một số hàm phép biến đổi không gian matlab 4.2.1 Các kiểu ảnh matlab *Ảnh định số (Indexed Images) Một ảnh số bao gồm ma trận liệu X ma trận đồ màu map Ma trận liệu có kiểu thuộc lớp uint8, uint16 kiểu double Ma trận đồ màu mảng mx3 kiểu double bao gồm giá trị dấu phẩy động nằm Mỗi hàng đồ giá trị mà: red, green blue màu đơn Một ảnh số sử dụng ánh xạ trực tiếp giá trị pixel ảnh tới giá trị cách sử dụng giá trị tương ứng X ánh xạ tới giá trị số map Giá trị hàng đầu tiên, giá trị hàng thứ hai đồ màu … Một đồ màu thường chứa với ảnh số tự động nạp với ảnh sử dụng hàm imread để đọc ảnh Tuy nhiên, ta không bị giới hạn sử dụng đồ màu mặc định, ta sử dụng đồ màu *Ảnh cường độ (Intensity Images) 4.2 Một ảnh cường độ ma trận liệu ảnh I mà giá trị đại diện cho cường độ số vùng ảnh Matlab chứa ảnh cường độ ma trận đơn, với phần tử ma trận tương ứng với pixel ảnh Ma trận thuộc lớp double, uint8 hay uint16 Trong ảnh cường độ lưu với đồ màu, Matlab sử dụng đồ màu để hiển thị chúng Những phần tử ma trận cường độ đại diện cho cường độ khác độ xám Những điểm có cường độ thường đại diện màu đen cường độ 1,255 65535 thường đại diện cho cường độ cao hay màu trắng *Ảnh nhị phân (Binary Images) Trong ảnh nhị phân, pixel chứa hai giá trị nhị phân Hai giá trị tương ứng với bật tắt (on off) Một ảnh nhị phân lưu trữ mảng logic * Ảnh RGB (RGB Images) Một ảnh RGB - thường gọi true-color, lưu trữ Matlab dạng mảng liệu có kích thước chiều mxnx3 định nghĩa giá trị màu red, green blue cho pixel riêng biệt Ảnh RGB không sử dụng palette Màu pixel định kết hợp giá trị R, G, B (Red, Green, Blue) lưu trữ mặt phẳng màu vị trí pixel Định dạng file đồ hoạ lưu trữ ảnh RGB giống ảnh 24 bits R, G, B chiếm tương ứng bit Điều cho phép nhận 16 triệu màu khác Một mảng RGB thuộc lớp double, uint8 uint16 Trong mảng RGB thuộc lớp double, thành phần màu có giá trị Một pixel mà thành phần màu (0, 0, 0) hiển thị với màu đen pixel mà thành phần màu (1, 1, ) hiển thị với màu trắng Ba thành phần màu pixel lưu trữ với chiều thứ mảng liệu Chẳng hạn, giá trị màu R, G, B pixel (10, 5) lưu trữ RGB(10, 5, 1), RGB(10, 5, 2) RGB(10, 5, 3) tương ứng Để tính toán màu sắc pixel hàng cột chẳng hạn, ta nhìn vào ba giá trị lưu trữ (2, 3, 1:3) Giả sử (2, 3, 1) chứa giá trị 0.5176; (2, 3, 2) chứa giá trị 0.1608 (2, 3, 3) chứa giá trị 0.0627 màu sắc pixel (2, 3) (0.5176, 0.1608, 0.0627) 4.2.2 Các hàm chuyển đổi không gian matlab a Hàm imresize Để điều chỉnh kích cỡ ảnh, ta dùng hàm imresize với thông số kèm Sử dụng hàm ta xác định kích cỡ ảnh đầu ra, phương pháp nội suy sử dụng lọc dùng để chặn cưa Cú pháp hàm imresize biểu diễn theo nhiều cách sau: B = imresize(A,m) B = imresize(A,m,method) B = imresize(A,[mrows ncols],method) B = imresize( ,method,n) B = imresize( ,method,h) Trong đó: B = imresize(A,m) trả ảnh B có kích cỡ m lần kích cỡ A Ảnh A ảnh đa mức xám, RGB hay ảnh nhị phân Nếu m nằm khoảng (0,1) B nhỏ A Ngược lại, B lớn A B = imresize(A,m,method) trả ảnh có kích cỡ gấp m lần kích cỡ ảnh A, dùng phương pháp nội suy tham số method Tham số xâu có giá trị 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ả ảnh có kích cỡ mrows x ncols Nếu kích cỡ ảnh đầu có tỉ lệ không ảnh bị biến dạng Cụ thể, kích cỡ ảnh đầu nhỏ kích cỡ ảnh đầu vào method 'bilinear' 'bicubic' imresize áp dụng lọc thông thấp trước phép nội suy làm giảm lượng cưa Kích cỡ mặc định lọc 11x11 Ta thứ tự khác cho lọc mặc định dùng hàm sau: B = imresize( ,method,n) với n số nguyên kích cỡ lọc Nếu n=0 hàm imresize bỏ qua bước lọc Ngoài ta dùng hàm imresize với lọc tùy chọn B = imresize( ,method,h) với h lọc FIR hai chiều(ftrans2, fwind1, fwind2, fsamp) -xác định kích cỡ ảnh đầu ra: theo cách +xác định nhân tố phóng đại(magnification factor) Để phóng to ảnh, ta cho nhân tố phóng đại lớn Ngược lại, nhân tố phóng đại khoảng (0,1) ta ảnh thu nhỏ Ví dụ: I = imread('circuit.tif'); J = imresize(I,1.25); imshow(I) figure, imshow(J) + xác định chiều ma trận ảnh đầu Ta xác định kích cỡ ảnh đầu cách truyền vector chứa số hàng, số cột ảnh đầu Lệnh sau tạo ảnh đầu 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ị pixel ảnh đầu Tuy nhiên, ta thay phương pháp phương pháp nội suy khác 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 lọc để ngăn chặn cưa Việc giảm kích cỡ ảnh xuất hiện vật ảnh đầu cưa, thông tin bị ta giảm kích cỡ ảnh Răng cưa xuất mẫu gợn ảnh đầu b Hàm imrotate Hàm imrotate dùng để quay ảnh, 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 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 góc ngược chiều kim đồng hồ có dùng phép nội suy 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 ảnh đầu ra, có giá trị mặc định ‘loose’, nhận giá trị sau đây: Value 'crop' 'loose' description B gồm phần trung tâm ảnh quay có kích cỡ với A B gồm toàn ảnh quay lớn A Hàm imrotate cho giá trị điểm ảnh bên 10 A Bảng 4.2c Ví dụ: quay ảnh 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ú 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 khung chữ nhật có kích thước tùy ý Trong cú pháp đây, hàm biểu diễn ảnh đầu vào đợi ta dùng chuộ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ỏ thông số đầu vào hàm imcrop thực ảnh theo trục tọa độ thời Ngoài ra, ta khung cắt hình chữ nhật cách gián tiếp cú pháp I2 = imcrop(I,rect) X2 = imcrop(X,map,rect) RGB2 = imcrop(RGB,rect) rect vector có phần tử [xmin ymin width height] dùng để xác định vị trí khung Muốn thiết lập lại hệ tọa độ(mặc định hệ gồm 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 ta có cú pháp sau: [A,rect] = imcrop( ) [x,y,A,rect] = imcrop( ) với A ảnh đầu ra; x, y giá trị trục hoành, trục tung hệ tọ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 không gian hai chiều Nó có cú pháp 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 cp2tform Nếu ndims(A) > 2, ví dụ ảnh RGB, phép chuyển đổi tự động áp dụng cho mặt phẳng với số chiều lớn B = imtransform(A,TFORM,INTERP) xác định phép nội suy sử dụng INTERP( mặc định 'bilinear' ) nhận giá trị đây: Value 'bicubic' 'bilinear' 'nearest' description Bicubic interpolation Bilinear interpolation(the default) Nearest-neighbor interpolation [B,XDATA,YDATA] = imtransform( ) trả vị trí ảnh đầu B không gian X-Y XDATA YDATA vector có hai phần tử Các phần 13 tử XDATA tọa độ x cột cột cuối ảnh B Các phần tử YDATA tọa độ y dòng cột cuối ảnh B [B,XDATA,YDATA] = imtransform( ,param1,val1,param2,val2, ) xác định thông số điều khiển khía cạnh khác phép chuyển đổi Bảng liệt kê tất thông số phép chuyển đổi Parameter 'UData' 'VData' 'XData' 'YData' 'XYScale' 'Size' 'FillValues' Description Hai thông số vector thực có hai phần tử 'UData' 'VData' xác định vị trí ảnh A không gian U-V Hai phần tử 'UData' đưa tọa độ u(hoành độ) cột cột cuối A Hai phần tử 'VData' đưa tọa độ u(hoành độ) hàng hàng cuối A Giá trị mặc định 'UData' 'VData' [1 size(A,2)] [1 size(A,1)] Hai thông số vector thực có hai phần tử 'XData' 'YData' xác định vị trí ảnh đầu B không gian X-Y Hai phần tử 'XData' đưa tọa độ x(hoành độ) cột cột cuối A Hai phần tử 'YData' đưa tọa độ y(hoành độ) hàng hàng cuối A Nếu 'XData' and 'YData' không định imtransform ước lượng giá trị cho chúng với mặc định chứa toàn ảnh đầu Một vector gồm hai phần tử Phần tử 'XYScale' độ rộng pixel đầu không gian X-Y Phần tử thứ hai(nếu có) độ cao pixel đầu Nếu 'XYScale' có phần tử độ rộng độ cao pixel nhận giá trị Nếu 'XYScale' không 'Size' lại có 'XYScale' tính từ 'Size', 'XData', 'YData' Nếu 'XYScale' 'Size' không tỉ lệ pixel đầu vào dùng cho 'XYScale' Một vector hai phần tử nguyên 'Size' xác định số dòng cột ảnh đầu B Vì số chiều cao kích cỡ B dùng trực tiếp từ kích cỡ A Mặt khác, size(B,k) =size(A,k) với k>2 Nếu 'Size' không tính từ 'XData', 'YData', 'XYScale' Một mảng chứa nhiều giá trị Những giá trị 14 dùng cho pixel đầu vị trí chuyển đổi tương ứng ảnh đầu vào nằm biên Nếu A có hai chiều 'FillValues' đại lượng vô hướng Nếu A có số chiều cao 'FillValues' mảng có kích cỡ thỏa mãn: size(fill_values,k)=size(A,k+2) size(fill_values,k)=1 Nếu A mảng chiều 'FillValues' đạ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 kiểu biến đổi ta muốn thực Các kiểu biến đổi mà maketform trợ giúp bao gồm: + ’ affine’: Biến đổi bao gồm: translation ( dịch ), rotation ( quay ), scaling(chỉnh kích thước), stretching shearing(cắt) Các đường thẳng đường thẳng, đường song song song song hình chữ nhật bị biến đổi + ’box’: Một trường hợp đặc biệt affine chiều dời định tỉ lệ độc lập + ‘composite ‘: Bao gồm tổ hợp hai hay nhiều phép biến đổi + ‘custom ‘: Biến đổi người dùng tự định nghĩa, cung cấp hàm thuận nghịch gọi hàm imtransform + ‘projective ‘: Biến đổi đường thẳng giữ nguyên đường song song đồng quy lại thành điểm *Sử dụng cp2tform Ta sử dụng hàm để tạo cấu trúc TFORM ta muốn thi hành biến đổi cần khít với điểm liệu 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 biến đổi chiều Nếu ảnh chứa nhiều chiều chẳng hạn ảnh RGB, biến đổi chiều áp đặt tới tất mặt phẳng chiều theo chiều cao hơn, để định nghĩa biến đổi n chiều sử dụng hàm imformarrray *Ví dụ: đoạn mã sau sử dụng hàm để thi hành biến đổi projective cho ảnh bàn cờ I = checkerboard(20,1,1); figure; imshow(I) T = maketform('projective',[1 1; 41 1; 41 41; 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 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 http://www.mathworks.com/help/toolbox/images/f12-9579.html http://www.cambridgeincolour.com/tutorials/image-resize-for-web.htm http://www.cambridgeincolour.com/tutorials/image-interpolation.htm http://en.wikipedia.org/wiki/Bilinear_interpolation http://www.yahoogis.com/index.php? kategori=1&otherposting=1&postingid=783&postingcode=16&tanggal=21 &bulan=7&tahun=2011&minggu=5 http://nasagis.com/index.php? kategori=1&otherposting=1&postingid=783&postingcode=16&tanggal=11 &bulan=8&tahun=2011&minggu=5 Xiangwei Zhang Image Correction Using Geometric transformations Department of Electrical Engineering,Iowa State University http://www.ipol.im/pub/algo/g_linear_methods_for_image_interpolation/ 10 http://paulbourke.net/texture_colour/imageprocess/ 17 [...]... = 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... 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. .. 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. .. 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,... ,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á... 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... 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á... 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. .. 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... 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 ...Hà Nội, 2011 MỤC LỤC I Tổng quan 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) 2 Chức phép biến đổi không gian ảnh .3 II Các phép biến. .. quan phép biến đổi không gian ảnh( spatial transformation) 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). .. toán hàm phép biến đổi không gian matlab Công cụ matlab( Image Processing Toolbox) bao gồm hàm thực số phép chuyển đổi không gian đặc biệt chỉnh kích cỡ ảnh, quay ảnh 4.1 • • • Một số phương pháp