1.1. Đặt vấn đề Hình ảnh đóng vai trò quan trọng trong việc trao đổi thông tin. Tính trực quan của hình ảnh giúp hiểu rõ và sâu sắc hơn về thông tin. Nhưng vì một lý do nào đó, hình ảnh bị ảnh hưởng bởi một số yếu tố gián tiếp hay trực tiếp, khi đó chúng ta phải cần đến xử lý ảnh. Khi hình ảnh bị nhiễu, xử lý ảnh phi tuyến là phép toán hữu hiệu nhất để giải quyết bài toán này. 1.2. Mục đích đề tài Với khả năng hạn chế và thời gian có hạn, chúng em không quá tham vọng để bao quát toàn bộ nội dung xử lý ảnh phi tuyến, mà chỉ đề cập đến một số nội dung cơ bản nhưng phù hợp với yêu cầu của đề tài: • Tìm hiểu về các phương pháp xử lý ảnh phi tuyến như lọc nhiễu ảnh bằng các bộ lọc ngăn xếp, trung vị và trung vị trọng số. • Đánh giá chất lượng ảnh sau lọc qua các tham số PSNR MAE như đó đưa ra được kết luận về sự tối ưu của các bộ lọc này. 1.3. Phạm vi đề tài • Là một phạm vi hẹp trong xử lý ảnh, tìm hiểu và mô phỏng các phương pháp lọc ảnh phi tuyến bằng các bộ lọc cơ bản như bộ lọc ngăn xếp, trung vị và trung vị trọng số • Các phương pháp lọc ảnh đơn thuần chỉ lọc ảnh nhiễu Salt Pepper với mật độ nhiễu thấp. 1.4. Phương pháp thực hiện Từ ý tưởng và mục đích đề tài, chúng em dự định xây dựng một phần mềm thu nhỏ với đầy đủ chức năng lọc ảnh phi tuyến. Người sử dụng có thể dễ dàng nhập một ảnh sau đó tùy chọn nhiễu cho ảnh, từ đó có thể lựa chọn các bộ lọc phi tuyến phù hợp để lọc ảnh. Trên cơ sở đó, phương pháp thực hiện bao gồm: • Tìm hiểu về Matlab và các hàm cơ bản liên quan đến xử lý ảnh trong Matlab • Tìm hiểu lý thuyết các bộ lọc phi tuyến trong Chương I, II, III sách Nonlinear Image Processing • Viết sơ đồ giải thuật từ đó mô phỏng trên Matlab các bộ lọc đã tìm hiểu • Lập trình GUI để tạo giao diện cho chương trình.
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ VIỄN THÔNG
Nhóm sinh viên thực hiện:
Trang 2Hà Nội, 5/2014
LỜI MỞ ĐẦU
Những năm gần đây, sự phát triển của khoa học kỹ thuật đã làm thay đổi cuộc sốngcủa con người Máy tính cùng các thiết bị điện tử đã tác động đến thế giới hiện đại, khiếncác công việc của nhân loại được giải quyết nhanh gọn, hiệu quả cao hơn Song song với
sự phát triển của khoa học kỹ thuật đó là sự phát triển của phần cứng, cũng như phầnmềm máy tính Máy tính đã đưa con người lên một tầm cao mới và cùng với đó, xử lýảnh không còn là một đề tài xa lạ với con người Khái niệm ảnh số đã trở lên thông dụngvới hầu hết mỗi người trong xã hội và việc thu nhận ảnh số bằng các thiết bị cá nhân haychuyên dụng với việc đưa vào máy tính xử lý đã trở lên đơn giản
Hiện nay, xử lý ảnh là một lĩnh vực đang được quan tâm và đã trở thành môn họcchuyên ngành của sinh viên ngành công nghệ trong nhiều trường đại học trên cả nước.Với mong muốn tìm hiểu thêm những kiến thức về lĩnh vực này, nhóm chúng em đã lấy
đề tài xử lý ảnh để thực hiện học phần đồ án 1, đặc biệt là các thuật toán xử lý ảnh trongkhông gian, các bộ lọc phi tuyến Lọc phi tuyến là khâu quan trọng trong giai đoạn tiền
xử lý ảnh, đa dạng về phương thức lọc tùy theo việc lựa chọn bộ lọc Có thể kể tên một số
bộ lọc phi tuyến từ đơn giản đến phức tạp như bộ lọc trung vị, bộ lọc trung vị trọng số, bộlọc ngăn xếp, bộ lọc SDROM…
Đối với sinh viên ngành Điện tử Viễn thông chúng em, xử lý ảnh dành được sự quantâm đặc biệt Nó là nền tảng cung cấp chúng em kiến thức cơ bản về chuyên ngành Vìvậy, việc thực hiện học phần đồ án 1: “lọc nhiễu ảnh” là một cơ hội rất tốt cho chúng emtìm hiểu và vận dụng những kiến thức vào trong thực tế, được rèn luyện bản than, tích lũykiến thức
Trang 3
MỤC LỤC
Contents
LỜI MỞ ĐẦU 1
MỤC LỤC 2
DANH SÁCH HÌNH VẼ 4
DANH SÁCH BẢNG BIỂU 4
CHƯƠNG I MỞ ĐẦU 5
1.1 Đ ẶT VẤN ĐỀ 5
1.2 M ỤC ĐÍCH ĐỀ TÀI 5
1.3 P HẠM VI ĐỀ TÀI 5
1.4 P HƯƠNG PHÁP THỰC HIỆN 5
CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ THỰC HIỆN 7
2.1 T ỔNG QUAN VỀ XỬ LÝ ẢNH SỐ 7
2.1.1 Xử lý ảnh số là gì? 7
2.1.2 Nguồn gốc của xử lý ảnh số 7
2.1.3 Các ứng dụng của xử lí ảnh số 8
a Biến đổi ảnh 8
b Nén ảnh 8
2.1.4 Các bước trong xử lí ảnh số 8
2.1.5.Các phương pháp xử lí ảnh số 11
2.2 P HẦN MỀM LẬP TRÌNH VÀ MÔ PHỎNG MATLAB 12
2.2.1 Tìm hiểu chung về MATLAB 12
2.2.2 Một số hàm xử lý ảnh cơ bản với MATLAB 13
a Biểu diễn ảnh số 13
b Hàm đọc ảnh 13
c Hiển thị ảnh 14
d Hàm ghi ảnh 14
e Hàm tạo nhiễu Salt and Pepper: 14
CHƯƠNG III MỘT SỐ BỘ LỌC TRONG XỬ LÝ ẢNH PHI TUYẾN 16
3.1 B Ộ LỌC NGĂN XẾP ( S TACK FILTER ) 16
3.1.1 Định nghĩa 16
3.1.2 Minh họa 17
3.1.3 Ý tưởng thực hiện 18
3.1.4 Kết quả 19
3.2 B Ộ LỌC TRUNG VỊ VÀ TRUNG VỊ TRỌNG SỐ ( M EDIAN FILTER & W EIGHTED MEDIAN FILTER ) 20
3.2.1 Bộ lọc trung vị 20
Trang 4a Định nghĩa 20
b Minh họa 20
c.Ý tưởng thực hiện 21
Hình 3.4: Sơ đồ thuật toán bộ lọc trung vị 22
d.Kết quả 22
3.2.2.Weight median filter 24
a Định nghĩa 24
b Minh họa 24
c Ý tưởng thực hiện 25
d Kết quả 25
3.2.3 Nhận xét 26
3.3 T HAM SỐ ĐÁNH GIÁ PSNR 27
CHƯƠNG IV: THỰC HIỆN 29
4.1 L ẬP TRÌNH GUI 29
4.1.1 LÀM QUEN VỚI GUI 29
a Định nghĩa 29
b Tạo và sử dụng GUI 29
c Các hàm tương ứng được sử dụng trong GUI 31
4.1.2.Giới thiệu giao diện chương trình và chức năng thành phần 31
4.2 K ẾT QUẢ 36
CHƯƠNG V: KẾT LUẬN 38
TÀI LIỆU THAM KHẢO 39
THUẬT TOÁN CHO CÁC BỘ LỌC 40
STACK FILTER 3 X 3 40
WEIGHTED MEDIAN FILTER 3 X 3 40
WEIGHTED MEDIAN FILTER 5 X 5 41
WEIGHTED MEDIAN FILTER 7 X 7 42
WEIGHTED MEDIAN FILTER 9 X 9 43
Trang 5DANH SÁCH HÌNH VẼ
Hình 2.1 Sơ đồ định nghĩa xử lí ảnh 7
Hình 2.2 Các bước trong xử lý ảnh 9
Hình 2.3 Ảnh dưới tác động của nhiễu 15
Hình 3.1 Thuật toán bộ lọc ngăn xếp 18
Hình 3.2 Mô hình thuật toán ngăn xếp 19
Hình 3.3 Ảnh sau khi loc bở bộ lọc ngăn xếp 3x3 20
Hình 3.5 Minh họa thuật toán bộ lọc trung vị 22
Hình 3.6 Minh họa cho bộ lọc trung vị cỡ 3x3 23
Hình 3.7 Kết quả mô phỏng bộ lọc trung vị 3x3 (a), 5x5 (b),7x7 (c), 9x9 (d) 24
Hình 3.8 Minh họa cho bộ lọc trung vị trọng số cỡ 3x3 26
Hình 4.1 New GUI (1) 29
Hình 4.2 New GUI (2) 30
Hình 4.3 Thuộc tính các thành phần trong GUI 31
Hình 4.4 Giao diện GUI đồ án 32
Hình 4.5 Khung lựa chọn nhiễu 33
Hình 4.6 Khung lựa chọn loại bộ lọc,kích cỡ ma trận và lựa chọn ma trận tùy ý (1) 34
Hình 4.7 Khung lựa chọn loại bộ lọc,kích cỡ ma trận và lựa chọn ma trận tùy ý (2) 34
Hình 4.8 Nhập ma trận tương ứng 35
Hình 4.9 Khung tỉ số PSNR 35
Hình 4.10 Bảng PSNR của các bộ lọc 36
Hình 4.11 Ảnh gốc và ảnh nhiễu Salt & Pepper 36
DANH SÁCH BẢNG BIỂU Bảng 4.1: Tỉ số PSNR với nhiễu muối tiêu 5% 36
Bảng 4.2: Tỉ số PSNR với nhiễu muối tiêu 20% 36
Trang 6CHƯƠNG I MỞ ĐẦU
1.1 Đặt vấn đề
Hình ảnh đóng vai trò quan trọng trong việc trao đổi thông tin Tính trực quan củahình ảnh giúp hiểu rõ và sâu sắc hơn về thông tin Nhưng vì một lý do nào đó, hình ảnh bịảnh hưởng bởi một số yếu tố gián tiếp hay trực tiếp, khi đó chúng ta phải cần đến xử lýảnh Khi hình ảnh bị nhiễu, xử lý ảnh phi tuyến là phép toán hữu hiệu nhất để giải quyếtbài toán này
1.2 Mục đích đề tài
Với khả năng hạn chế và thời gian có hạn, chúng em không quá tham vọng để baoquát toàn bộ nội dung xử lý ảnh phi tuyến, mà chỉ đề cập đến một số nội dung cơ bảnnhưng phù hợp với yêu cầu của đề tài:
Tìm hiểu về các phương pháp xử lý ảnh phi tuyến như lọc nhiễu ảnh bằng các bộ lọc ngăn xếp, trung vị và trung vị trọng số
Đánh giá chất lượng ảnh sau lọc qua các tham số PSNR & MAE như đó đưa ra được kết luận về sự tối ưu của các bộ lọc này
1.3 Phạm vi đề tài
Là một phạm vi hẹp trong xử lý ảnh, tìm hiểu và mô phỏng các phương pháp lọc ảnh phi tuyến bằng các bộ lọc cơ bản như bộ lọc ngăn xếp, trung vị và trung vị trọng số
Các phương pháp lọc ảnh đơn thuần chỉ lọc ảnh nhiễu Salt & Pepper với mật độ nhiễu thấp
Trang 7 Tìm hiểu về Matlab và các hàm cơ bản liên quan đến xử lý ảnh trong Matlab
Tìm hiểu lý thuyết các bộ lọc phi tuyến trong Chương I, II, III sách Nonlinear Image Processing
Viết sơ đồ giải thuật từ đó mô phỏng trên Matlab các bộ lọc đã tìm hiểu
Lập trình GUI để tạo giao diện cho chương trình
Trang 8CHƯƠNG II: CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ THỰC HIỆN
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho rakết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh “tốthơn” hoặc một kết luận
Hình 2.1 Sơ đồ định nghĩa xử lí ảnh
2.1.2 Nguồn gốc của xử lý ảnh số
Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền quacáp từ Luân đôn đến New York từ những năm 1920 Vấn đề nâng cao chất lượng ảnh cóliên quan tới phân bố mức sáng và độ phân giải của ảnh Việc nâng cao chất lượng ảnhđược phát triển vào khoảng những năm 1955 Điều này có thể giải thích được vì sau thế
Trang 9chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh sô thuậnlợi Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng
và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh
Từ năm 1964 đến nay, các phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnhphát triển không ngừng Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo,các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụngrộng rãi và thu nhiều kết quả khả quan
2.1.3 Các ng d ng c a x lí nh sứng dụng của xử lí ảnh số ụng của xử lí ảnh số ủa xử lí ảnh số ử lí ảnh số ảnh số ố
a Bi n đ i nhến đổi ảnh ổi ảnh ảnh số
Trong xử lý ảnh do số điểm ảnh lớn các tính toán nhiều (độ phức tạp tính toán cao)đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán lâu Các phương pháp khoa học kinhđiển áp dụng cho xử lý ảnh hầu hết khó khả thi Người ta sử dụng các phép toán tươngđương hoặc biến đổi sang miền xử lý khác để dễ tính toán Sau khi xử lý dễ dàng hơnđược thực hiện, dùng biến đổi ngược để đưa về miền xác định ban đầu, các biến đổithường gặp trong xử lý ảnh gồm:
- Biến đổi Fourier, Cos, Sin
- Biến đổi (mô tả) ảnh bằng tích chập, tích Kronecker
- Các biến đổi khác như KL (Karhumen Loeve), Hadamard
Một số các công cụ sác xuất thông kê cũng được sử dụng trong xử lý ảnh
b Nén nhảnh số
Ảnh dù ở dạng nào vẫn chếm không gian nhớ rất lớn Khi mô tả ảnh người ta đưa kỹthuật nén ảnh vào Các giai đoạn nén ảnh có thể chia ra chế độ 1, chế độ 2 Hiện nay, cácchuẩn MPEG được dùng với ảnh đang phát huy hiệu quả
Trang 102.1.4 Các bước trong xử lí ảnh sốc trong x lí nh sử lí ảnh số ảnh số ố
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như là đặctrưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trongkhông gian và nó có thể xem như một hàm n biến P(c1, c2, , cn) Do đó, ảnh trong xử lýảnh có thể xem như ảnh n chiều
Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh Đầu tiên, ảnh tự nhiên từthế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh) Trướcđây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR) Gần đây, với
sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nóđược chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo (Máy ảnh số hiệnnay là một thí dụ gần gũi) Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từảnh chụp bằng máy quét ảnh Hình 2.2 dưới đây mô tả các bước cơ bản trong xử lý ảnh
Hình 1.2 Các bước trong xử lý ảnh
a Phần thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera làảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng cóloại camera đã số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạocường độ sáng tại mỗi điểm ảnh
Camera thường dùng là loại quét dòng ; ảnh tạo ra có dạng hai chiều Chất lượngmột ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)
b Tiền xử lý (Image Preprocessing)
Trang 11Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử
lý để nâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tươngphản để làm ảnh rõ hơn, nét hơn
Đây cũng là giai đoạn quan trọng liên quan đến nội dung đồ án này, đó là cácphương pháp xử lý ảnh phi tuyến để nâng cao chất lượng ảnh khi nhiễu
c Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễnphân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì thư chomục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các
từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạp khókhăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quảnhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
d Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn)cộng với mã liên kết với các vùng lận cận Việc biến đổi các số liệu này thành dạng thíchhợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiệnảnh gọi là trích chọn đặc trưng (Feature election) gắn với việc tách các đặc tính của ảnhdưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đốitượng khác trong phạm vi ảnh nhận được Ví dụ: trong nhận dạng ký tự trên phong bì thư,chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác
e Nhận dạng và nội suy ảnh (Image Recognition and Interpretation)
Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằngcách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước Nội suy là phán đoán theo ýnghĩa trên cơ sở nhận dạng Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư
có thể được nội suy thành mã điện thoại Có nhiều cách phân loai ảnh khác nhau về ảnh
Trang 12Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhậndạng ảnh cơ bản:
- Nhận dạng theo tham số
- Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoahọc và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạngvăn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…
f Cơ sở tri thức (Knowledge Base)
Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối,dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhi u Trong nhiềukhâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảotiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận và xử lý ảnh theocách của con người Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo cácphương pháp trí tuệ con người Vì vậy, ở đây các cơ sở tri thức được phát huy
2.1.5.Các phương pháp xử lí ảnh số
a Xử lí ảnh số trong miền không gian
- Xử lí ảnh tuyến tính: Bộ lọc trung bình, lọc thông thấp,…
- Xử lí ảnh phi tuyến: Median Filter, Stack Filter, Weight Median Filter, …
Trang 13+ Lọc thông cao lý tưởng
+ Lọc thông thấp butterworth
2.2 Phần mềm lập trình và mô phỏng MATLAB
2.2.1 Tìm hiểu chung về MATLAB
MATLAB là một công cụ tính toán trong kỹ thuật, đặc biệt là các bài toán về ma trận.MATLAB còn cung cấp các toolboxes chuyên dụng để giải quyết những vấn đề cụ thểnhư xử lý ảnh, xử lý số tín hiệu, neuron, mô phỏng…
Và một câu hỏi đặt ra Matlab có thể làm được những gì? Matlab hoạt động ra sao? Ai
Bước 2: Mô tả các giá trị dữ liệu vào/ra
Bước 3: Các tính toán bằng tay với các tập dữ liệu đầu vào đơn giản
Bước 4: Chuyển bài toán sang giải pháp bằng Matlab
Bước 5: Kiểm tra
Matlab ngày nay đã trở nên thông thông dụng và là một công cụ trợ giúp hữu hiệu chocác nhà chuyên môn, những sinh viên đang theo học các trường đại học và trung họcchuyên nghiệp, các kĩ sư, cán bộ kĩ thuật…nhằm giải quyết các vẫn đề đa dạng trongcông việc thường ngày của họ
Matlab cung cấp Image Processing toobox, chuyên về xử lý ảnh Có thể nói Matlab làmột công cụ rất mạnh giúp cho việc thực hiện các giải thuật xử lý ảnh nhanh chóng và dễ
Trang 14hiểu Matlab tích hợp được việc tính toán, thể hiện kết quả, cho phép lập trình, giao diệnlàm việc rất dễ dàng cho người sử dụng.
Và với đồ án này, việc lựa chọn Matlab là công cụ giải quyết là một lựa chọn hàngđầu!
2.2.2 Một số hàm xử lý ảnh cơ bản với MATLAB
Ma trận ảnh:
Với f(p,q) là giá trị của hàm tại hàng p,cột q
Trong MATLAB,ma trận được đại diện bởi 1 biến.Tên biến bắt đầu bằng chữ cái,gồmchữ cái,chữ số và dấu gạch dưới
b Hàm đọc ảnh.
- Hàm imread: đọc một ảnh từ bất kì định dạng nào được trợ giúp trong bất kì chiều sâubit nào được trợ giúp Hầu hết các file ảnh sử dụng 8 bít để chứa giá trị của pixel Khi
Trang 15chúng được đọc vào bộ nhớ ,MATLAB chứa chúng dưới dạng uint8 Với các file trợgiúp 16 bít dữ liệu ,PNG và TIFF, MATLAB chứa chúng dưới dạng uint16.
Chú ý: Với ảnh chỉ số , imread luôn luôn đọc bản đồ màu vào trong một chuỗi thuộc lớp
double , thậm chí mảng ảnh tự nó thuộc lớp uint8 hay uint16
- Cú pháp : imread(‘filename’);
Trong đó:filename:URL,tên của ảnh cần đọc,…
- Chẳng hạn,đọc ảnh “football.jpg” lưu trong biến a: a=imread(‘football.jpg’);
Ghi ma trận ảnh f lên file :Vidu.tif
-Nếu filename không chứa đường dẫn thì MATLAB sẽ lưu vào thư mục hiện tại
Trang 16e Hàm tạo nhiễu Salt and Pepper:
Còn gọi là nhiễu xung, nhiễu nhị phân
Nếu b > a, mức xám b sẽ xuất hiện tương ứng là điểm sáng trên ảnh còn mức xám a sẽtương ứng với điểm đen xuất hiện trên ảnh
Để cộng nhiễu “Salt and pepper” vào một ảnh ta dùng câu lệnh sau :
t = imnoise(image,’salt & pepper’, D) với D là mật độ nhiễu
Hình 2.2 Ảnh dưới tác động của nhiễu
a) Ảnh gốc b) Ảnh nhiễu Salt & Pepper 10%
Trang 17CHƯƠNG III MỘT SỐ BỘ LỌC TRONG XỬ LÝ ẢNH PHI TUYẾN
3.1 Bộ lọc ngăn xếp ( Stack filter )
3.1.1 Định nghĩa
Xét M giá trị vector x=[ X1,X2,…,XN] khi mà Xi Є { 0,1, … , M-1 }
Sự phân hủy ngưỡng của x nghĩa là sự phân chia x thành M-1 véctơ nhị phân x1, x2,
x n m=T m(X n)={1 if X n ≥ m
0 c ò n l ại (3.1)
Sự tạo ngưỡng không làm mất bất cứ thông tin về tín hiệu, nó chỉ thay đổi các thôngtin này thành dạng nhị phân đơn giản Tín hiệu ban đầu có thể được dựng lại từ vector nhịphân ngưỡng bằng cách cộng chúng với nhau:
X n=∑
m=1
M−1
x n m (3.2) Cho x, y và vector nhị phân ( tín hiệu ) có độ dài cố định Xác định:
x ≤ y nếu và chỉ nếu Xn ≤ Yn với mọi n
Bây giờ xét tín hiệu x và ngưỡng nhị phân của nó x1,x2,…,xM-1
Rõ ràng nếu xi < xj nếu i > j và tín hiệu nhị phân x1,x2,…,xM-1 tạo thành 1 chuỗi ko tăng Với 1 hàm Boolean f(.) cho rằng:
f(x) ≥ f(y) nếu x ≥ y (3.3)Công thức (3.3) chính là thuộc tính ngăn xếp
Bây giờ chúng ta xác định các định nghĩa của bộ lọc ngăn xếp
Trang 18Định nghĩa: Một bộ lọc ngăn xếp Sf (.) được xác định bởi một hàm tích cực Boolean f(.)như sau:
Trang 19Hình3.1 Thuật toán bộ lọc ngăn xếp
3.1.3 Ý tưởng thực hiện
Cho một ảnh được chuyển sang dạng gray và được cộng nhiễu với một thong số thíchhợp Quá trình lọc bởi bộ lọc ngăn xếp được thực hiện như sau:
Chuyển ảnh về dạng ma trận Sau đó chuyển ma trận thành mảng 1 chiều
Tách ngưỡng đồng thời áp dụng thuộc tính ngăn xếp
Áp dụng lọc lần lượt từ trái sang phải với cửa sổ lọc 3x1 hoặc 3x3 và dễ thấy output:
[0,0,0],[0,0,1],[0,1,0],[1,0,0]=0
[0,1,1],[1,0,1],[1,1,0],[1,1,1]=1
Sau khi lọc xong, cộng tất cả các ngưỡng lại và chuyển mảng 1 chiều thành ma trận rồi chuyển về dạng ảnh
Trang 20Hình 3.2 Mô hình thuật toán ngăn xếp
Trang 21Hình3.3 Ảnh sau khi loc bở bộ lọc ngăn xếp 3x3
Ảnh gốc - Ảnh nhiễu Salt & Pepper 10% - Ảnh sau khi lọc bằng bộ lọc ngăn xếp3x3
+ Ảnh sau khi lọc của bộ lọc ngăn xếp 3x3 chất lượng tốt hơn bộ lọc ngăn xếp 3x1 + Thời gian xử lý ảnh của bộ lọc ngăn xếp 3x1 và 3x3 khá lâu
3.2 Bộ lọc trung vị và trung vị trọng số ( Median filter & Weighted median filter)
Trang 22Bộ lọc trung vị được thực hiện như sau:
Bước 1 Liệt kê các giá trị pixel trong cửa sổ ảnh thành mảng một chiều
Bước 2 Sắp xếp tất cả các giá trị pixel theo trật tự tăng dần hoặc giảm dần
Bước 3 Thay thế giá trị pixel đang xem xét với giá trị trung vị(giữa) của mảng