Nguyên tắc hoạt động của bộ lọc trung bình năm 2024

Lọc Trung vị là một kĩ thuật lọc phi tuyến (non-linear), nó khá hiệu quả đối với hai loại nhiễu: nhiễu đốm (speckle noise) và nhiễu muối tiêu (salt-pepper noise). Kĩ thuật này là một bước rất phổ biến trong xử lý ảnh.

Ý tưởng chính của thuật toán lọc Trung vị như sau: ta sử dụng một cửa sổ lọc (ma trận 3×3) 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 3×3 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.

Sẽ dễ hình dung hơn bằng mô tả trong hình dưới đây:

Nguyên tắc hoạt động của bộ lọc trung bình năm 2024

Sơ lược một cách ngắn gọn các bước của giải thuật:

  1. Quét cửa sổ lọc lên các thành phần của ảnh gốc; điền các giá trị được quét vào cửa sổ lọc.
  2. Lấy các thành phần trong của sổ lọc để xử lý.
  3. Sắp xếp theo thứ tự các thành phần trong cửa sổ lọc.
  4. Lưu lại thành phần trung vị, gán cho ảnh output.

Một lưu ý nhỏ trong khi lập trình là với cửa số 2 chiều 3×3 ở trên sẽ khó xử lý nên tất cả sẽ được gán qua mảng 1 chiều gồm 9 phần tử.

Mình nhắc lại là ta không chắc kết quả của quá trình của biến đổi ảnh khi mà ta không thử trước. Công việc xử lý ảnh không phải là công việc ngày một ngày hai mà là quan trọng là kinh nghiệm của người lập trình trải qua nhiều lần thử nghiệm các phép lọc, phép biến đổi khác nhau. Nhiều phép biến đổi lạ lẫm ta phải thử đi thử lại để đạt được kết quả mong muốn. Có phép biến đổi hợp lý có phép biến đổi chả ra kết quả gì. Ở đây phép biến đổi DFT cho ta cấu trúc hình học chủ yếu của ảnh. Hai ảnh dưới đây cho ta mường tượng hiệu quả của phép biến đổi DFT như thế nào.

Ảnh kết quả của chữ in thẳng.

Nguyên tắc hoạt động của bộ lọc trung bình năm 2024

Ảnh kết quả của ảnh có chữ bị nghiêng

Nguyên tắc hoạt động của bộ lọc trung bình năm 2024

Sau đó, việc còn lại là ta sẽ dùng các phép lọc, phép biến đổi khác để nhận ra được kết quả mong muốn.

Nguyên tắc hoạt động của bộ lọc trung bình năm 2024

Khoa Công nghệ thông tin – VLUTE Xử lý ảnh - TH1335

Tài liệu thực hành 51

BÀI 3: XỬ LÝ LÂN CẬN

(LỌC ẢNH TRONG MIỀN KHÔNG GIAN)

  1. Lọc tuyến tính
  1. Hàm imfilter và hàm fspecial

1.1 Lọc tuyến tính với imfilter

- Hàm imfilter (https://www.mathworks.com/help/images/ref/imfilter.html) của MATLAB IPT

cho phép thực hiện lọc ảnh tuyến tínhbằng tương quan (mặc định) hoặc tích chập.

- Cú pháp:

g \= imfilter(f, h, mode, boundary_options, size_options);

Trong đó:

+ g: ảnh đầu ra

+ f: ảnh đầu vào

+ h: bộ lọc tuyến tính

+ mode có thể là ’conv’ hoặc ’corr’, tương ứng, cho biết việc lọc sẽ được thực hiện

bằng cách sử dụng tích chập hoặc tương quan (mặc định);

  • boundary_options đề cập đến cách thuật toán lọc sẽ xử lý các giá trị đường viền

ảnh. Có bốn khả năng:

 X: Các biên của mảng đầu vào (hình ảnh) được mở rộng bằng cách đệm với

giá trị X. Đây là tùy chọn mặc định (với X = 0).

 ‘symmetric’: Các biên của mảng đầu vào (hình ảnh) được mở rộng bằng

cách ánh xạ hình ảnh qua đường viền của nó.

 ‘replicate’: Các biên của mảng đầu vào (hình ảnh) được mở rộng bằng cách

sao chép các giá trị gần nhất với đường viền hình ảnh.

 ‘circular’: Các biên của mảng đầu vào (hình ảnh) được mở rộng bằng cách

giả định rằng mảng đầu vào là tuần hoàn, nghĩa là coi hình ảnh là một chu kỳ

của hàm tuần hoàn 2D.

  • size_options: Có hai tùy chọn cho kích thước của ảnh kết quả: ‘full’ (hình ảnh đầu

ra là kết quả được lọc đầy đủ, nghĩa là kích thước của ảnh được mở rộng / đệm) hoặc ‘same’

(hình ảnh đầu ra có cùng kích thước với hình ảnh đầu vào hình ảnh). Tùy chọn thứ hai là

tùy chọn mặc định.

1.2 Tạo bộ lọc với hàm fspecial

- fspecial (https://www.mathworks.com/help/images/ref/fspecial.html) là một hàm IPT

được thiết kế để đơn giản hóa việc tạo những bộ lọc ảnh 2 chiều phổ biến.

- Cú pháp: h \= fspecial(type, parameters)