Code matlab lọc trung bình có trọng số năm 2024

  • 1. HIỂU VỀ LỌC TUYẾN TÍNH KHOA CÔNG NGHỆ THÔNG TIN Học viên thực hiện: Nguyễn Đức Mạnh
  • 2. BÀY • Giới thiệu chung • Lọc tuyến tính • So sánh lọc phi tuyến & lọc tuyến tính • Chương trình demo NỘI DUNG TRÌNH BÀY
  • 3. BÀYGIỚI THIỆU  Lý thuyết Một bộ lọc ảnh không gian bao gồm: • Một mặt nạ (thường là hình chữ nhật). • Một phép toán được định nghĩa trước thực hiện trên các điểm ảnh được bao phủ bởi mặt nạ. Dựa vào phép toán áp dụng trong bộ lọc mà ta có 2 loại bộ lọc: • Bộ lọc tuyến tính: khi phép toán thực hiện trên các điểm ảnh là tuyến tính. • Bộ lọc phi tuyến: khi phép toán thực hiện trên các điểm ảnh là phi tuyến.
  • 4. BÀYGIỚI THIỆU Qúa trình lọc ảnh gồm các bước sau: • Bước 1: Xác định điểm trung tâm của mặt nạ • Bước 2: Tại điểm (x,y) đang xét (trùng với tâm mặt nạ), thực hiện phép toán lọc trên các điểm lân cận (bị mặt nạ bao phủ) • Bước 3: Ghi nhận kết quả phép lọc là giá trị mức xám của điểm ảnh (x,y) trong ảnh đầu ra. • Bước 4: Lần lượt trượt mặt nạ tới những điểm chưa xét. Lặp lại bước 2. Qúa trình lọc kết thúc khi điểm trung tâm của mặt nạ lần lượt thăm hết từng điểm ảnh của ảnh đầu vào, ta thu được kết quả ảnh đã được lọc ở đầu ra.
  • 5. BÀYGIỚI THIỆU Tại bất kỳ điểm (x,y) nào của ảnh, đáp ứng g(x,y) của bộ lọc là tổng các tích của hệ số lọc và giá trị các điểm ảnh bao phủ bởi mặt nạ: Hệ số trung tâm của mặt nạ w(0,0) tương ứng với điểm ảnh ở vị trí (x,y) đang xét. Mặt nạ kích thước m*n, ta thường chọn m,n là số lẻ Gỉa thiết rằng m=2a+1, n=2b+1, với a,b>=1 Kích thước mặt nạ nhỏ nhất có ý nghĩa là 3*3
  • 6. BÀYGIỚI THIỆU
  • 7. BÀYLỌC TUYẾN TÍNH Đầu ra của một lọc không gian tuyến tính chỉ đơn giản là mức trung bình của các điểm ảnh lân cận bị bao phủ bởi mặt nạ lọc. Các bộ lọc này được gọi là các bộ lọc trung bình. Ý tưởng: đằng sau các bộ lọc làm mịn là đơn giản. Bằng cách thay thế các giá trị của mỗi điểm ảnh trong hình ảnh bằng mức trung bình của mức cường độ của các điểm lân cận được xác định bởi mặt nạ lọc, quá trình này tạo ra một hình ảnh bị giảm chuyển tiếp “mạnh” trong cường độ.
  • 8. BÀYLỌC TUYẾN TÍNH Hình dưới đây là 2 mặt nạ lọc tuyến tính kích thước sử dụng trong làm mịn ảnh
  • 9. BÀYLỌC TUYẾN TÍNH Biểu thức thực thi tổng quát để lọc tuyến tính một ảnh kích thước M×N bằng bộ lọc trung bình trọng số w kích thước m×n (m,n lẻ) : Trong đó, m=2a+1; n=2b+1; x, y thay đổi, biểu diễn mọi điểm ảnh của ảnh gốc: x = 0,1,2,…,M -1, và y = 0,1,2,…,N-1
  • 10. BÀYLỌC TUYẾN TÍNH • Làm mịn ảnh (Image Smoothing) • Sắc nét ảnh (Image Sharpening) • Phát hiện biên Edge detection
  • 11. BÀYLỌC PHI TUYẾN Lọc phi tuyến: Đầu ra là kết quả của phép toán phi tuyến tiến hành trên các lân cận bị mặt nạ bao phủ. Các bộ lọc hạng là bộ lọc tuyến tính phổ biến. Đối với bộ lọc hạng, các giá trị mức xám của các điểm ảnh lân cận bị mặt nạ bao phủ được sắp xếp thứ tự (xếp hạng), và đáp ứng tại điểm ảnh đó được xác định bởi kết quả xếp hạng.
  • 12. BÀYLỌC PHI TUYẾN  Các bộ lọc hạng cụ thể: • Lọc trung vị (Median Filter): đáp ứng tại từng điểm ảnh là giá trị chính giữa sau quá trình xếp hạng các giá trị của điểm ảnh lân cận. Tác dụng: hiệu quả trong giảm nhiễu xung (VD: nhiễu salt and pepper) • Lọc Max (lọc dãn): đáp ứng tại từng điểm ảnh là giá trị lớn nhất sau quá trình xếp hạng các giá trị của điểm ảnh lân cận. Tác dụng: tìm các điểm sáng nhất của ảnh. • Lọc Min (lọc co): đáp ứng tại từng điểm ảnh là giá trị nhỏ nhất sau quá trình xếp hạng các giá trị của điểm ảnh lân cận. Tác dụng: tìm các điểm tối nhất của ảnh.
  • 13. BÀYLỌC PHI TUYẾN  Lọc trung vị (Median filtering) Định nghĩa: median { xm + ym } ≠ median { xm } + median { ym } ƒexample with signal sequences (length = 3): Kích thước ma trận thường là số lẻ được sử dụng trong Median filtering như: 3x3, 5x5, 7x7…
  • 14. BÀYLỌC PHI TUYẾN Ma trận 3x3 ảnh gốc: Sắp xếp
  • 15. BÀYLỌC PHI TUYẾN  Lọc phi tuyến: Có các bộ lọc phi tuyến tính được mô tả trong miền tần số  Gồm 2 loại: • Root filter • Homomorphic filter
  • 16. BÀYSO SÁNH LỌC TUYẾN TÍNH & LỌC PHI TUYẾN Áp dụng bộ lọc trung bình trong lọc nhiễu làm trơn ảnh - Lọc trung bình: Là kỹ thuật lọc tuyến tính, hoạt động như một bộ lọc thông thấp. - Ý tưởng: Ta sử dụng một cửa số lọc (ma trận 3x3) quét qua lần lượt từng điểm ảnh của đầu vào input. Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc "lấp" vào ma trận lọc. Giá trị điểm ảnh của ảnh đầu ra là giá trị trung bình của tất cả các điểm ảnh trong cửa sổ lọc. Việc tính toán này khá đơn giản với hai bước gồm tính tổng các thành phần trong cửa sổ lọc và sau đó chia tổng này cho số các phần tử của cửa sổ lọc.
  • 17. BÀYSO SÁNH LỌC TUYẾN TÍNH & LỌC PHI TUYẾN Sẽ dễ hình dung hơn bằng mô tả trong hình dưới đây
  • 18. BÀYSO SÁNH LỌC TUYẾN TÍNH & LỌC PHI TUYẾN  Áp dụng bộ lọc trung vị trong lọc nhiễu làm trơn ảnh Lọc trung vị: Là 1 kỹ thuật lọc phi tuyến, nó khá hiệu quả đối với 2 loại nhiễu: nhiễu đốm (speckle noise) và nhiễu muối tiêu (salt-pepper noise). Ý tưởng: ta sử dụng một cửa sổ lọc (ma trận 3x3) quét qua lần lượt từng điểm ảnh của ảnh đầu vào input. Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc "lấp“ vào ma trận lọc. Sau đó sắp xếp các điểm ảnh trong cửa sổ này theo thứ tự (tăng dần hoặc giảm dần tùy ý). Cuối cùng, gán điểm ảnh nằm chính giữa (Trung vị) của dãy giá trị điểm ảnh đã được sắp xếp ở trên cho giá trị điểm ảnh đang xét của ảnh đầu ra output.
  • 19. BÀYSO SÁNH LỌC TUYẾN TÍNH & LỌC PHI TUYẾN Sẽ dễ hình dung hơn bằng mô tả trong hình dưới đây:
  • 20. BÀYSO SÁNH LỌC TUYẾN TÍNH & LỌC PHI TUYẾN So sánh median filter và averaging filter Kết luận: Median filter thực hiện công việc loại bỏ nhiễu “salt and pepper” tốt hơn, các cạnh ít bị mờ hơn averaging filter
  • 21. BÀYSO SÁNH LỌC TUYẾN TÍNH & LỌC PHI TUYẾN Phân tích - Kết quả: 2 bộ lọc cho ra kết quả tốt, nhưng tốt với tùy loại ảnh đầu vào. - Bộ lọc trung bình hiệu quả nhất trong việc khử nhiễu Gaussian nhưng đổi lại là sự mất các chi tiết hình ảnh cao tần. Kích thước kernel lớn hơn sẽ có hiệu quả lọc lơn hơn nhưng làm giảm chất lượng hình ảnh nên lọc này không hiệu quả trong việc khử nhiễu ‘salt and pepper’. - Bộ lọc trung vị sử dụng hiệu quả trong những trường hợp có các giá trị pixel lớn hơn hoặc nhỏ hơn hẳn các giá trị lân cận .
  • 22. BÀYSO SÁNH LỌC TUYẾN TÍNH & LỌC PHI TUYẾN  So sánh:
  • 23. BÀYCHƯƠNG TRÌNH DEMO So sánh ảnh hưởng của linear và a non-linear filtering được sử dụng để giảm nhiễu Đầu vào: Ảnh gốc (ảnh xám) Điều kiện: Làm nhiễu ảnh gốc bằng hàm imnoise trong Matlab để thêm nhiễu (Dùng “salt and pepper”) Linear filtering: dùng averaging filter (hàm imfilter trong Matlab) Non-linear filtering: dung median filtering (hàm medfilt2 trong Matlab)
  • 24. BÀYCHƯƠNG TRÌNH DEMO Đây là ảnh đầu vào và ta làm nhiễu ảnh này: I=imread('img.jpg') IB = imnoise(I,'salt & pepper'); figure(1) subplot(1,2,1) subimage(I) title('Original Image'); pause; subplot(1,2,2) subimage(IB) title('Noisy Image'); pause;
  • 25. BÀYCHƯƠNG TRÌNH DEMO Averaging filter N = ones(3)/9 ; % convolution kernel If1 = imfilter(IB,N) ; figure(2) image(If1) title('Noisy image filtered by a 3-by-3 averaging filter’) v=0:1/255:1; colormap([v' v' v']); % LUT for displaying in gray levels
  • 26. BÀYCHƯƠNG TRÌNH DEMO Averaging filter Ta tính giá trị trung bình: 8x8+255 /9 =35 Ta thấy, giá trị đầu ra của pixel này không đại diện cho vùng lân cận của nó, độ nhiễu không đủ giảm => Kết luận: Linear filtering không thích hợp để giảm nhiễu xung
  • 27. BÀYCHƯƠNG TRÌNH DEMO Median filtering If2 = medfilt2(IB,[3 3]) ; % 3-by-3 median filtering figure(3) image(If2) title('Noisy Image filtered by a 3-by-3 median filter') v=0:1/255:1; colormap([v' v' v']);
  • 28. BÀYCHƯƠNG TRÌNH DEMO Median filtering Các giá trị pixel được sắp xếp theo thứ tự tang dần: 0,8,8,8,8,8,8,8,255. Gía trị trung bình là 8, và ta thấy giá trị 0,255 không ảnh hưởng đến giá trị đầu ra bằng cách sử dụng bộ lọc phi tuyến này. Kết luận: Bộ lọc trung vị có hiệu quả để giảm nhiễu xung
  • 29. BÀYTÀI LIỆU THAM KHẢO Tài liệu tham khảo: 1. Slide bài giảng của thầy Tăng Văn Hạ, Chương 3 Image Processing in the Frequency Domain 2. Sách Digital Image Processing, mục 3.5.7 Order Statis (Nonlinear) Filters, trang 178 3. Link web: http://www.unit.eu/cours/videocommunication/Non-linear_filtering.pdf
  • 30. CÔ VÀ CÁC BẠN ĐÃ LẮNG NGHE!