Matlab trong xử lý ảnh: Lọc nhiễu cho ảnh (p1)

Lu ROm

Administrator
Staff member
25 Tháng bảy 2014
481
119
43
31
One piece
vimach.net
1. Cách tạo nhiễu.
- Một trong những ứng dụng chính của cả hai bộ lọc tuyến tính và phi tuyến là để loại bỏ nhiễu,nâng cao chất lượng ảnh. Bây giờ chúng ta sẽ áp dụng một số bộ lọc khác nhau để loại bỏ nhiễu điển hình, chẳng hạn như 'salt and pepper' và nhiễu Gaussian. Tuy nhiên, đầu tiên chúng ta cần phải tìm hiểu cách tạo ra một số ví dụ hình ảnh với nhiễu để chúng ta có thể so sánh hiệu quả của các phương pháp khác nhau để loại bỏ nhiễu.
- Trong Matlab, điều này có thể đạt được như trong Ví dụ sau. Kết quả của việc tạo nhiễu từ Ví dụ được thể hiện trong hình dưới. Những hình ảnh này sẽ là cơ sở so sánh của chúng ta về các bộ lọc loại bỏ nhiễu trong các phần sau.
upload_2016-6-27_10-35-7.png

- Code matlab:
Mã:
I=imread('eight.tif'); % Read in image
subplot(1,3,1), imshow(I); % Display image
title('anh goc');
Isp = imnoise(I,'salt & pepper',0.03); % add 3% (0.03) salt and pepper noise
subplot(1,3,2), imshow(Isp); % Display result image Isp
title('nhieu salt & pepper');
Ig = imnoise(I,'gaussian',0.02); % add Gaussian noise (with 0.02 variance)
subplot(1,3,3), imshow(Ig); % Display result image Ig
title('gaussian');
- Chúng ta sử dụng hàm imnoise() để tạo nhiễu salt & pepper và gaussian. Cường độ được quy định bằng cách sử dụng mật độ tỷ lệ phần trăm và phương sai tương ứng. Các thông số 0.03,0.02 là các tham số bổ sung cho hàm imnoise() giới hạn từ 0-1 tùy vào loại nhiễu.Một số kiểu tạo nhiễu khác.
upload_2016-6-27_10-51-57.png


Link down toàn bộ code phần nhiễu:
CODE MATLAB
HÌNH ẢNH
 
  • Like
Reactions: duytamtt
Bài viết có rất chi tiết và có nhiều thông tin hữu ích. Mình nghĩ là nó sẽ rất có ích cho người đang cần nó. Tặng bác 1 like, mong rằng bác sẽ có nhiều chia sẻ hữu ích hơn tới cộng đồng!