Nâng cao chất lượng ảnh
190
figure, imshow(J)
w = ones(9)/81;
% Cửa sổ lọc 9x9
gd = imfilter(f, w);
% Lọc với thông số mặc định
figure,imshow(gd, [ ])
gr = imfilter(f, w, 'replicate'); % Gán các trị lặp lại biên ảnh
figure, imshow(gr, [ ])
gs = imfilter(f, w, 'symmetric'); % Gán trị đối xứng gương
figure, imshow(gs, [ ])
gc = imfilter(f, w, 'circular'); % Gán theo kiểu ‘circular’
figure, imshow(gc, [ ])
a)
b)
c)
d)
e)
f)
Hình 12.13.
a) Ảnh gốc b) Ảnh nhiễu c) “zero padding” d) ‘replicate’ e) ‘symmetric f) ‘circular’
MATLAB đã định nghĩa trước một số bộ lọc tuyến tính để người sử dụng chọn lựa. Bằng
cách gọi hàm fspecial, ta nhận được một mặt nạ lọc có thể dùng để cung cấp cho hàm
imfilter
.
Bảng 12-2.
Các cú pháp của hàm fspecial
Cú pháp
Mô tả
H = fspecial('average',N)
Bộ lọc trung bình với kích thước N x N (mặc định là 3x3)
H = fspecial('disk',r)
Bộ lọc trung bình dạng tròn (pill box) với bán kính r (nằm
trong ma trận vuông kích thước 2*r-1). Mặc định r = 5
H = fspecial('gaussian',N,sigma)
Bộ lọc Gaussian với kích thước NxN, độ lệch chuẩn sigma.
Giá trị mặc định là N = 3, sigma = 0.5