MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 210

Nâng cao chất lượng ảnh

189

kích thước sẽ lớn hơn ảnh ban đầu;

‘same’

có nghĩa là MATLAB chỉ giữ lại phần ảnh có

kích thước bằng ảnh ban đầu.
Hàm imfilter xử lý các kiểu dữ liệu khác nhau theo cách tương tự với các hàm thực hiện các
phép toán số học. Ảnh sau khi lọc có cùng kiểu với ảnh gốc, tuy nhiên khi tính toán hàm
imfilter

tự chuyển sang kiểu số thực dấu chấm động với độ chính xác kép. Nếu kết quả vượt

ra ngoài tầm giá trị của kiểu dữ liệu, hàm này sẽ tự động điều chỉnh giá trị cho phù hợp.
Ví dụ 12-7.

>> A=magic(5)

A =

17 24 1 8 15

23 5 7 14 16

4 6 13 20 22

10 12 19 21 3

11 18 25 2 9

>> h=[-1 0 1]

h =

-1 0 1

>> imfilter(A,h)

ans =

24 -16 -16 14 -8

5 -16 9 9 -14

6 9 14 9 -20

12 9 9 -16 -21

18 14 -16 -16 -2

Nếu trước khi lọc, ta chuyển ảnh sang kiểu

uint8

thì sau khi lọc, các giá trị âm sẽ tự động

chuyển về 0.

>> A = uint8(magic(5));

imfilter(A,h)

ans =

24 0 0 14 0

5 0 9 9 0

6 9 14 9 0

12 9 9 0 0

18 14 0 0 0

Ví dụ 12-8. Sử dụng hàm imfilter với các cách chèn các điểm ngoài biên khác nhau
Hình 12.13a là một ảnh gốc kích thước 242x308. Ta cộng nhiễu cho ảnh và khảo sát cửa sổ
lọc kích thước 9x9.

I = imread('eight.tif');

% Đọc ảnh gốc

imshow(I)

J = imnoise(I,'salt & pepper',0.02); % Cộng nhiễu salt&pepper với mật độ

0.02

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.