Cơ bản về xử lý ảnh số
156
11.2. CAÙC PHEÙP BIEÁN ÑOÅI HÌNH HOÏC
Các phép biến đổi hình học là những phép toán biến các điểm ảnh từ vị trí này thành các điểm
ảnh ở vị trí khác trong ảnh mới. Đó là những thao tác xử lý ảnh cơ bản như quay, thay đổi
kích thước, cắt một phần ảnh, ...
11.2.1. PHEÙP NOÄI SUY AÛNH
Nội suy là quá trình ước lượng giá trị của ảnh tại một điểm nằm giữa hai pixel có giá trị đã
biết. Chẳng hạn, nếu ta thay đổi kích thước ảnh sao cho nó chứa nhiều pixel hơn ảnh gốc, thì
giá trị của các pixel thêm vào sẽ được xác định bằng phép nội suy. Phép nội suy cũng là cơ sở
để thực hiện các biến đổi hình học khác, ví dụ biến đổi kích thước hoặc quay ảnh, ...
Image Processing Toolbox cung cấp ba phương pháp nội suy ảnh, bao gồm: nội suy theo các
lân cận gần nhất, nội suy song tuyến tính và nội suy bicubic. Cả ba phương pháp đều thực
hiện theo một nguyên tắc chung: để xác định giá trị của một pixel ảnh nội suy, ta tìm một
điểm trong ảnh ban đầu tương ứng với pixel đó, sau đó giá trị của pixel ở ảnh mới sẽ được
tính bằng trung bình có trọng số của một tập các pìxel nào đó ở lân cận của điểm vừa xác
định, trong đó trọng số của các pixel phụ thuộc vào khoảng cách tới điểm này.
Với phương pháp lân cận gần nhất, pixel mới sẽ được gán giá trị của pixel chứa điểm tương
ứng của nó (pixel mới) trong ảnh ban đầu. Với phương pháp song tuyến tính, pixel mới sẽ
được gán là trung bình có trọng số của các pixel trong một lân cận kích thước 2x2. Với
phương pháp bicubic, pixel mới sẽ được gán là trung bình có trọng số của các pixel trong một
lân cận kích thước 4x4.
Phương pháp đầu tiên là phương pháp đơn giản và nhanh nhất, nhưng chất lượng không tốt
bằng hai phương pháp còn lại. Số pixel được đưa vào để tính trọng số càng nhiều thì chất
lượng càng tốt nhưng thời gian càng lâu. Ngoài ra, chỉ có phương pháp đầu tiên là có thể áp
dụng cho mọi kiểu ảnh và kiểu dữ liệu vì nó không làm thay đổi tập giá trị của các pixel. Các
phương pháp còn lại không thích hợp cho ảnh indexed, nhưng với ảnh RGB thì nên dùng các
phương pháp này để bảo đảm chất lượng ảnh.
Với ảnh RGB, phép nội suy được thực hiện một cách riêng biệt trên ba mặt phẳng màu đỏ,
lam và lục.
Với ảnh nhị phân dùng nội suy song tuyến tính hoặc bicubic, cần lưu ý đến kiểu dữ liệu, vì giá
trị của pixel mới có thể nhận giá trị khác 0 và 1. Nếu ảnh gốc thuộc kiểu
double
thì ảnh mới
sẽ là ảnh trắng đen thuộc kiểu
double
, nếu ảnh gốc thuộc kiểu
uint8
thì ảnh mới sẽ là ảnh
nhị phân kiểu
uint8
, trong đó các giá trị khác 0 và 1 sẽ được làm tròn về 0 hoặc 1.
11.2.2. THAY ÑOÅI KÍCH THÖÔÙC AÛNH
Hàm imresize cho phép người sử dụng thay đổi kích thước của ảnh. Ngoài kích thước ảnh
mới, người sử dụng còn có thể xác định phương pháp nội suy sẽ dùng và loại bộ lọc dùng để
chống aliasing.
>> b = imresize(a,m,Method)
Dòng lệnh trên tạo ảnh mới
b
có kích thước gấp
m
lần ảnh gốc
a
. Method là một chuỗi xác
định phương pháp nội suy sẽ dùng:
‘nearest’
(lân cận gần nhất),
‘bilinear’
(song tuyến
tính) hoặc
‘bicubic’
. Phương pháp mặc định là
‘nearest’
. Thay vì xác định tỷ số
m
, ta có
thể xác định trực tiếp kích thước ảnh mới theo đơn vị pixel bằng cách dùng cú pháp:
>> b = imresize(a,[mrows mcols],method)