Các ảnh số có thể có nhiều loại nhiễu khác nhau. Có một số cách mà nhiễu có thể thâm nhập vào trong ảnh phụ thuộc vào việc ảnh được tạo ra như thế nào. Chẳng hạn:
- Nếu ảnh được scan từ một ảnh được chụp trên phim, các hạt trên phim là một nguồn nhiễu. Nhiễu có thể là kết quả của việc phim bị hư hỏng hoặc do chất lượng của scanner.
- Nếu ảnh được thu thập trực tiếp từ định dạng số, cơ chế của việc thu thập dữ liệu ảnh (chẳng hạn như bộ phát hiện CCD) có thể tạo ra nhiễu.
- Sự truyền dữ liệu ảnh cũng có thể bị nhiễu tác động.
Toolbox cung cấp một số cách để loại bỏ hoặc giảm nhiễu trong một ảnh. Các cách khác nhau được sử dụng cho các loại nhiễu khác nhau. Các cách đó bao gồm:
- Sử dụng các bộ lọc tuyến tính (Linear Filter) - Sử dụng các bộ median (Median Filter)
- Sử dụng các bộ lọc thích nghi (Adaptive Filter)
Để mô phỏng tác động của các vấn đề về nhiễu đã nói ở trên, toolbox cung cấp hàm imnoise mà ta có thể dùng để thêm nhiễu vào một ảnh.
2.8.5.1 Sử dụng các bộ lọc tuyến tính
Ta có thể sử dụng các bộ lọc tuyến tính để loại bỏ nhiễu trong một ảnh. Các bộ lọc này chẳng hạn như bộ lọc trung bình hoặc bộ lọc Gauss là thích hợp. Chẳng hạn, một bộ lọc trung bình được sử dụng để loại bỏ các hạt nhiễu từ một ảnh chụp trên phim. Do mỗi pixel được thiết lập tới giá trị trung bình
của các pixel xung quanh nó, do vậy sự biến động địa phương gây ra bởi các hạt nhiễu bị giảm bớt.
2.8.5.2 Sử dụng các bộ lọc median
Sử dung các bộ lọc trung bình tương tự như việc sử dụng các bộ lọc trung bình (averaging filters), mỗi pixel ra được thiết lập giá trị trung bình của các giá trị pixel lân cận của pixel vào tương ứng. Tuy nhiên, với bộ lọc này giá trị của một pixel ra được quyết định bởi median của các pixel lân cận hơn là giá trị trung bình. Median thường nhỏ hơn nhiều so với trung bình các giá trị xa nhất (được gọi là outliers). Bộ lọc median do đó tốt hơn để loại bỏ những outlier này mà không giảm độ sắc nét của ảnh. Hàm medfilt2 sử dụng phép lọc median.
2.8.5.3 Sử dụng các bộ lọc thích nghi
Hàm wiener2 áp đặt một bộ lọc Wiener (một kiểu của bộ lọc tuyến tính) lên một ảnh một cách thích nghi (adaptively) với sự biến động địa phương của ảnh. Những nơi có biến động lớn, hàm này thực hiện một số ít thao tác làm mượt ảnh. Những nơi có biến động nhỏ, hàm thực hiện nhiều các thao tác làm mượt ảnh.
Cơ chế này thường tạo ra kết quả tốt hơn so với lọc tuyến tính. Các bộ lọc thích nghi thường được sử dụng nhiều hơn so với các bộ lọc tuyến tính trong việc bảo vệ các cạnh và vùng có tần số cao của một ảnh. Thêm vào, không có tác vụ thiết kế nào, hàm wiener2 điều khiển tất cả các tính toán ban đầu và thi hành phép lọc cho ảnh vào. Tuy nhiên, hàm này cần nhiều tính toán hơn các bộ lọc tuyến tính
Hàm wiener2 làm việc tốt hơn khi nhiễu là nhiễu “trắng” chẳng hạn như nhiễu Gauss.
CHƯƠNG III: MỘT SỐ ỨNG DỤNG XỬ LÍ ẢNH TRONG MATLAB 3.1. Cắt ảnh
A= imread('E:\anh\Dai Lai.jpg'); B=imcrop(A);
subplot(2,1,1), imshow(A); title('anh truoc khi cat'); subplot(2,1,2), imshow(B);
title('anh sau khi cat-P.T.B.Thuan');
Hình 3.1: Ảnh trước và sau khi cắt Hình 3.2: Tạo ảnh đen trắng