Do các nguyên nhân khác nhau có thể do chất lượng thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến, do vậy cần phải tăng cường và khôi phục lại ảnh để làm nổi bậ
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
LÊ TRUNG THỨC
NGHIÊN CỨU PHƯƠNG PHÁP LỌC NHIỄU ẢNH
VÀ ỨNG DỤNG CHO ẢNH TÀI LIỆU
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ MÁY TÍNHNgười hướng dẫn khoa học: PGS TS NGÔ QUỐC TẠO
HÀ NỘI, 2015
Trang 2LỜI CẢM ƠN
Trong thời gian thực hiện luận văn thạc sỹ em đã nhận được rất nhiều
sự khích lệ, động viên, giúp đỡ từ phía thầy cô, cha mẹ và bạn bè xung quanh
Em xin gửi lời cảm ơn chân thành tới các thầy cô trong trường Đại học
Sư phạm Hà Nội 2, các thầy ở Viện Công nghệ thông tin đã truyền đạt vốn kiến thức quý báu cho chúng em
Em xin bày tỏ lòng biết ơn chân thành nhất tới thầy giáo, PGS.TS Ngô Quốc Tạo, người đã trực tiếp hướng dẫn em hoàn thành luận văn thạc sỹ này
Cảm ơn đề tài: “ Hệ thống đeo tay hỗ trợ đọc sách tiếng Việt dành cho người khiếm thị” Mã số VAST01.07/15-16 hỗ trợ trong thực hiện luận văn
Em đã cố gắng học tập và hoàn thành luận văn thạc sỹ nhưng có thể luận văn thạc sỹ vẫn còn có những thiếu sót Em rất mong nhận được sự góp
ý, chỉ bảo của các thầy cô và các bạn để luận văn thạc sỹ hoàn thiện hơn
Hà nội, ngày … tháng… năm 2015
Tác giả luận văn
Lê Trung Thức
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan rằng số liệu và kết quả nghiên cứu trong luận văn này
là trung thực và không trùng lặp với các đề tài khác Tôi c ng xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện luận văn này đã đƣợc cảm ơn và các thông tin trích dẫn trong luận văn đã đƣợc chỉ rõ nguồn gốc
Hà nội, ngày … tháng… năm 2015
Tác giả luận văn
Lê Trung Thức
Trang 4MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
DANH MỤC HÌNH VẼ 5
MỞ ĐẦU 6
CHƯƠNG I – KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ LỌC NHIỄU ẢNH 9
1.1 Giới thiệu về xử lý ảnh 9
1.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh 10
1.2.1 Những khái niệm cơ bản 10
1.2.1.1 Điểm ảnh (Picture Element) 10
1.2.1.2 Độ phân giải của ảnh 10
1.2.1.3 Mức xám của ảnh 11
1.2.1.4 Ảnh số 12
1.2.1.5 Quan hệ giữa các điểm ảnh 12
1.2.2 Thu nhận ảnh 14
1.2.3 Tiền xử lý (Image Processing) 15
1.2.4 Những vấn đề khác trong xử lý ảnh 16
1.2.4.1 Biến đổi ảnh (Image Transform) 16
1.2.4.2 Nén ảnh 16
1.2.4.3 Các định dạng cơ bản trong xử lý ảnh 16
1.3 Bài toán lọc nhiễu ảnh 17
1.3.1 Bài toán 17
1.3.2 Giới thiệu về nhiễu ảnh 18
1.3.2.1 Một mô hình của quá trình suy thoái 18
1.3.2.2 Nhiễu 19
1.3.3 Khái niệm lọc nhiễu ảnh 24
CHƯƠNG 2 – CÁC KỸ THUẬT LỌC NHIỄU ẢNH 26
2.1 Kỹ thuật lọc trung bình 26
2.2 Kỹ thuật lọc thích nghi 28
2.3 Kỹ thuật lọc cấp độ thấp 29
Trang 52.4 Kỹ thuật lọc theo thứ tự 30
2.5 Kỹ thuật lọc nghịch đảo 31
2.6 Kỹ thuật lọc Band Reject 34
2.7 Sử dụng bộ lọc Notch 35
2.8 Lựa chọn công cụ, ngôn ngữ lập trình 36
CHƯƠNG 3 – BÀI TOÁN LỌC NHIỄU CHO ẢNH TÀI LIỆU 41
3.1 Bài toán 41
3.2 Thử nghiệm chương trình lọc nhiễu muối tiêu và Gauss 41
3.2.1 Lọc cấp độ thấp 41
3.2.2 Lọc trung bình 42
3.2.3 Lọc theo thứ tự 44
3.3 Chương trình lọc nhiễu ảnh 45
3.3.1 Giao diện chính của chương trình 45
3.3.2 Các đoạn mã lệnh 45
3.4 Kết quả thử nghiệm chương trình lọc nhiễu ảnh 49
KẾT LUẬN VÀ KIẾN NGHỊ 55
TÀI LIỆU THAM KHẢO 56
PHỤ LỤC 57
Trang 6Hình 1.6 Tài liệu bị hỏng bởi nhiễu chu kì 24
Hình 2.1 Xóa muối-hạt tiêu với hàm medfilt 28
Hình 2.6 “phân chia hạn chế” : chọn ngưỡng giá trị d 34
Hình 3.2 Xóa muối-hạt tiêu với hàm medfilt 43
Hình 3.3 Giao diện chính của chương trình lọc nhiễu ảnh 45
Hình 3.6 Lọc trung bình mặt nạ 3x3 loại bỏ nhiễu Gauss 50
Hình 3.7 Lọc trung bình mặt nạ 5x5 loại bỏ nhiễu Gauss 51 Hình 3.8 Lọc tương thích mặt nạ 5x5 loại bỏ nhiễu Gauss 51
Hình 3.9 Lọc tương thích mặt nạ 7x7 loại bỏ nhiễu Gauss 51
Hình 3.10 Lọc tương thích mặt nạ 9x9 loại bỏ nhiễu Gauss 52
Hình 3.11Ảnh sau khi làm hư hại muối - tiêu 52
Hình 3.12 Lọc trung bình loại bỏ nhiễu muối - tiêu 52 Hình 3.13 Lọc cấp độ thấp mặt nạ 3x3 loại bỏ nhiễu muối - tiêu 53
Hình 3.14 Lọc cấp độ thấp mặt nạ 5x5 loại bỏ nhiễu muối - tiêu 53
Hình 3.15 Lọc theo thứ tự mặt nạ 3x3 loại bỏ nhiễu muối - tiêu 53
Hình 3.16 Lọc theo thứ tự mặt nạ 5x5 loại bỏ nhiễu muối - tiêu 54
Trang 7MỞ ĐẦU
1 Lý do chọn đề tài
Trong những năm gần đây công nghệ thông tin phát triển với tốc độ nhanh chóng cả về phần cứng và phần mềm Sự phát triển của công nghệ thông tin đã thúc đẩy sự phát triển của nhiêu lĩnh vực xã hội khác như: y học, giáo dục, giải trí, kinh tế vv…Sự phát triển của phần cứng cả về phương diện thu nhận, hiển thị, cùng với tốc độ xử lý đã mở ra nhiều hướng mới cho sự phát triển phần mềm, đặc biệt là lĩnh vực xử lý ảnh c ng như công nghệ thực tại ảo đã ra đời và thâm nhập mạnh mẽ vào đời sống của con người
Ảnh thu được sau qua trình thu nhận ảnh hoặc các phép biến đổi không tránh khỏi nhiễu hoặc khuyết thiếu Sự sai sót này một phần bởi các thiết bị quang học và điện tử, phần khác bởi bản thân các phép biến đổi không phải là toàn ánh, nên có sự ánh xạ thiếu hụt đến những điểm trên ảnh kết quả.Việc khắc phục các nhược điểm này luôn là vấn đề đặt ra cho các hệ thống xử lý ảnh
Các hệ xử lý ảnh trong quá trình phân tích ảnh, tăng cường ảnh để nâng cao chất lượng ảnh Do các nguyên nhân khác nhau có thể do chất lượng thiết
bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có thể bị suy biến, do vậy cần phải tăng cường và khôi phục lại ảnh để làm nổi bật một số đặc tính chính của ảnh, hay làm cho ảnh gần giống nhất với trạng thái gốc, trạng thái trước khi ảnh bị biến dạng
Xuất phát trong hoàn cảnh đó “Nghiên cứu phương pháp lọc nhiễu ảnh
và ứng dụng cho ảnh tài liệu” được em chọn làm đề tài
2 Mục đích nghiên cứu
Mục đích chính của đề tài là:
- Nghiên cứu về nhiễu ảnh, một số phương pháp lọc nhiễu ảnh
Trang 8- Sử dụng một ngôn ngữ để triển khai xây dựng chương trình mô phỏng một số phương pháp lọc nhiễu ảnh
3 Nhiệm vụ nghiên cứu
Tìm hiểu khái quát về xử lý ảnh
Tìm hiểu các phương pháp lọc nhiễu ảnh
- Xây dựng chương trình ứng dụng của các phương pháp trên
5 Phương pháp nghiên cứu
Thu thập tài liệu, phân tích, suy luận, tổng hợp, đánh giá Từ đó đề xuất
nghiên cứu và tìm hiểu: “Nghiên cứu phương pháp lọc nhiễu ảnh và ứng dụng cho ảnh tài liệu”
6 Kết quả đạt được
Trên cơ sở các kiến thức đã thu thập và nghiên cứu: Xây dựng được ứng dụng thực tế lọc nhiễu cho ảnh phong cảnh, ảnh tài liệu…
Trang 9NỘI DUNG Chương 1: Khái quát về xử lý ảnh và lọc nhiễu ảnh
1.1 Giới thiệu về xử lý ảnh
1.2 Các vấn đề cơ bản trong hệ thống xử lý ảnh
1.3 Bài toán lọc nhiễu ảnh
Chương 2: Các kỹ thuật lọc nhiễu ảnh
2.8 Lựu chọn công cụ, ngôn ngữ lập trình
Chương 3: Bài toán lọc nhiễu cho ảnh tài liệu
Trang 10CHƯƠNG I – KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ LỌC NHIỄU ẢNH
1.1 Giới thiệu về xử lý ảnh
Xử lý ảnh là một lĩnh vực đang được quan tâm nghiên cứu và có nhiều ứng dụng quan trọng trong thực tế cùng với sự phát triển của công nghệ thông tin, thúc đẩy các ngành kinh tế, xã hội khác phát triển Mục đích chính của xử
• Hiểu ảnh đầu vào để có những mô tả về ảnh ở mức cao hơn, sâu hơn (Ví dụ: từ ảnh một tai nạn giao thông, phác hoạ hiện trường tai nạn)
Một ảnh trong thế giới thực được xem như là một hàm hai biến thực a(x,y), với a là độ sáng của ảnh tại vị trí toạ độ thực (x,y) Một ảnh còn có thể chứa những ảnh con gọi là các “vùng quan tâm” (ROI – Region Of Interest) Các ROI này vẫn thường được gọi tắt là các “vùng” Khái niệm vùng phản ánh một thực tế là trong ảnh thường chứa nhiều đối tượng, mỗi đối tượng tạo nên phần cơ sở của một vùng Đối với một hệ xử lý ảnh cao cấp, chúng ta có thể áp dụng nhiều phép toán cho từng vùng ảnh một, ví dụ như một vùng ảnh này sẽ được áp dụng các phép toán loại bỏ hiệu ứng mờ do chuyển động, trong khi một vùng ảnh khác sẽ được xử lý để nâng cao chất lượng màu sắc của nó
Các giá trị độ sáng của ảnh thường được thể hiện dưới dạng số thực hoặc số nguyên Thông thường, những giá trị sáng kiểu số nguyên là kết quả của một quá trình lượng hoá chuyển một thang đo liên tục thành một số mức
Trang 11rời rạc Tuy nhiên trong nhiều quá trình hình thành ảnh, độ lớn của tín hiệu là kết quả đếm số hạt photon ở từng thời điểm, do vậy độ lớn ấy dĩ nhiên đã được lượng hoá sẵn Còn trong một số quá trình tạo ảnh khác, ví dụ như tạo ảnh siêu âm trong y khoa, phương pháp đo đạc vật lý trực tiếp sẽ cho ra các giá trị phức, mỗi giá trị phức này gồm một giá trị độ lớn kết hợp với một giá trị pha, và cả hai đều ở dạng số thực
1.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh
1.2.1 Những khái niệm cơ bản
1.2.1.1 Điểm ảnh (Picture Element)
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng
Để xử lý bằng máy tính (số), ảnh cần phải được số hóa Số hóa ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy được gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel Trong khuân khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x,y)
Định nghĩa:
Điểm ảnh (Pixel) là một phần tử của ảnh số tại tọa độ (x,y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật.Mỗi phần tử trong ma trận được gọi là một phần tử ảnh
1.2.1.2 Độ phân giải của ảnh
Định nghĩa: Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh
được ấn định trên ảnh số được hiển thị
Trang 12Theo định nghĩa, khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy được sự liên tục của ảnh Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bố, đó chính là độ phân giải và được phân
bố theo trục x và y trong không gian hai chiều
Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Grraphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc *
200 điểm ảnh (320*200) Rõ ràng cùng màn hình CGA 12” ta nhận thấy mịn hơn màn hình CGA 17” độ phân giải 320*200 Lý do: cùng một mật độ (độ phân giải) nhưng diện tích màn hình rộng hơn thì độ mịn (liên tục của các điểm ảnh) kém hơn
1.2.1.3 Mức xám của ảnh
Một điểm ảnh (Pixel) có hai đặc trưng cơ bản là vị trí (x,y) của điểm ảnh và độ xám của nó Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thường dùng trong xử lý ảnh
a) Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được
gán bằng giá trị số tại điểm đó
b) Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256
(Mức 256 là mức phổ dụng Lý do từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mức xám dùng 1 byte để biểu diễn 28
= 256 mức, tức là
từ 0 đến 255)
c) Ảnh đen trắng: là ảnh có 2 màu đen, trắng (không chứa màu khác)
với mức xám ở các điểm ảnh có thể khác nhau
d) Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit
mô tả 21
mức khác nhau Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1
Trang 13e) Ảnh màu: trong khuân khổ lý thuyết 3 màu (Red, Blue, Green) để
tạo nên thế giới màu, ngưới ta thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu 28*3
=224 triệu màu
1.2.1.4 Ảnh số
Định nghĩa: Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp
dùng để mô tả ảnh gần với ảnh thật
1.2.1.5 Quan hệ giữa các điểm ảnh
Một ảnh số giả sử được biểu diễn bằng hàm f(x,y) Tập con các điểm ảnh là S; cặp điểm ảnh có quan hệ với nhau là p,q Để thể hiện quan hệ giữa
các điểm ảnh chúng ta có một số khái niệm sau:
a) Các lân cận của điểm ảnh (Image Neighbors)
Giả sử có điểm ảnh p tại tọa độ (x,y) p có 4 điểm lân cận gần nhất theo chiều đứng và ngang (có thể coi lân cận 4 hướng chính : Đông, Tây, Nam, Bắc)
{(x-1,y);(x,y-1);(x,y+1);(x+1,y)} = N4(p) Trong đó: số 1 là giá trị logic; N4(p) là 4 điểm lân cận của p
Hình 1.1 Lân cận các điểm ảnh của tọa độ (x,y)
Các lân cận chéo: Các điểm lân cận chéoNp(p) (có thể coi lân cận chéo
là 4 hướng: Đông-Nam, Đông-Bắc, Tây-Nam, Tây-Bắc)
Np(p) = {(x+1,y+1);(x+1,y-1);(x-1,y+1);(x-1,y-1)}
Trang 14Tập kết hợp: N8(p) = N4(p) +Np(p) là tập hợp 8 lân cận của điểm ảnh p Chú ý: Nếu (x,y) nằm ở biên (mép) ảnh; một số điểm sẽ nằm ngoài ảnh
b) Các mối liên kết điểm ảnh
Các mối liên kết được sử dụng để xác định giới hạn (Boundaries) của đối tượng vật thể hoặc xác định vùng trong một ảnh Một liên kết được đặc trưng bởi tính liền kề giữa các điểm và mức xám của chúng
Giả sử V là tập các giá trị mức xám Một tập có các giá trị cường độ sáng từ thang mức xám từ 32 đến 64 được mô tả như sau:
c) Đo khoảng cách giữa các điểm ảnh
Định nghĩa: Khoảng cách D(p,q) giữa hai điểm ảnh p tọa độ (x,y), q
tọa độ (s,t) là hàm khoảng cách (Distance) hoặc Metric nếu:
1 D(p,q) ≥ 0 (Với D(p,q)=0 nếu và chỉ nếu p=q)
2 D(p,q) = D(q,p)
3 D(p,z) ≤ D(p,q) + D(q,z); z là một điểm ảnh khác
Khoảng cách Euclide: Khoảng cách Euclide giữa hai điểm ảnh p(x,y)
và q(s,t) được định nghĩa như sau:
Trang 15De(p,q) = [(x-s)2 + (y-t)2]1/2Khoảng cách khối: Khoảng cách D4(p,q) được gọi là khoảng cách khối
đồ thị (City-Block Distance) và được xác định như sau:
D4(p,q) = |x-s| + |y-t|
Giá trị khoảng cách giữa các điểm ảnh r: giá trị bán kính r giữa điểm ảnh từ tâm điểm ảnh đến tâm điểm ảnh q khác Ví dụ: Màn hình CGA 12” (12”*2,54cm = 30,48cm = 304,8mm) độ phân giải 320*200; tỷ lên 4/3 (chiều dài/chiều rộng) Theo định lý Pitago về tam giác vuông, đường chéo sẽ lấy tỷ
lệ 5 phần (5/4/3: đường chéo/chiều dài/chiều rộng màn hình); khi đó độ dài thật là (305/244/183) chiều rộng màn hình 183mm tương ứng với màn hình CGA 200 điểm ảnh theo chiều dọc Như vậy, khoảng cách điểm ảnh lân cận của CGA 12” là 1mm
Khoảng cách D8(p,q) còn gọi là khoảng cách bàn cờ (Chess-Board Distance) giữa điểm ảnh (p,q) được xác định như sau:
Nhìn chung các hệ thống thu nhận ảnh thực hiện 1 quá trình
- Cảm biến: biến đổi năng lượng quang học thành năng lượng điện
- Tổng hợp năng lượng điện thành ảnh
Trang 161.2.3 Tiền xử lý (Image Processing)
Sau 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ương phản để làm ảnh rõ hơn, nét hơn
Mục đích của các công việc này là làm cho chất lượng ảnh trở lên tốt hơn chuẩn bị cho các bước xử lý tiếp theo
Khử nhiễu: Nhiễu được chia thành hai loại là nhiễu hệ thống và nhiễu
ngẫu nhiên Đặc trưng của nhiễu hệ thống là tính tuần hoàn Do vậy, có thể khử nhiễu hệ thống bằng việc sử dụng phép biến đổi Fourie và loại bỏ các đỉnh điểm Đối với nhiễu ngẫu nhiên, trường hợp đơn giản là các vết bẩn tương ứng với các điểm sáng hay tối thì có thể khử bằng phương pháp nội suy, lọc trung vị và lọc trung bình
Chỉnh độ tương phản: Công việc cụ thể là chỉnh sửa tính không đồng
đều của thiết bị thu nhận hoặc độ tương phản giữa các vùng ảnh
Nâng cao chất lượng ảnh: Nâng cao chất lượng ảnh nhằm hoàn thiện
một số đặc tính của ảnh như:
- Lọc nhiễu hay làm trơn ảnh
- Tăng độ tương phản, điều chỉnh mức xám của ảnh
- Làm nổi biên ảnh Các thuật toán triển khai việc nâng cao chất lượng ảnh hầu hết dựa trên các kỹ thuật trong miền điểm, không gian và tần số Toán tử điểm là phép biến đổi đối với từng điểm ảnh đang xét, không liên quan đến các điểm lân cận khác trong khi đó toán tử không gian sử dụng các điểm lân cận để quy chiếu đến điểm đang xét, một số phép biến đổi có tính toán phức tạp được chuyển sang miền tần số để thực hiện, kết quả cuối cùng được chuyển trở lại miền không gian nhờ các biến đổi ngược
Trang 171.2.4 Những vấn đề khác trong xử lý ảnh
1.2.4.1 Biến đổi ảnh (Image Transform)
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
Vì vậy, chúng ta sử dụng các phép toán tương đương hoặc biến đổi ảnh sang miền xử lý khác để dễ tính toán
Sau khi xử lý xong, chúng ta dùng biến đổi ngược để đưa ảnh về miền xác định ban đầu Các phép biến đổi thường gặp trong xử lý ảnh gồm:
- Biến đổi Fourier, Cosin, 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
1.2.4.2 Nén ảnh
Ảnh dù ở dạng nào vẫn chiếm không gian nhớ rất lớn Vì vậy, khi mô
tả ảnh có thể sử dụng kỹ thuật nén ảnh để thu gọn dung lượng nhớ dành cho ảnh Các giai đoạn nén ảnh có thể chia ra thành 2 thế hệ là thế hệ 1và thế hệ 2 Hiện nay, các chuẩn nén ảnh MPEG được dùng với ảnh đang khá phổ biến Một số phương pháp, thuật toán nén được sử dụng rộng rãi là: Mã hóa loại dài RLE, mã hóa Huffman, mã hóa LZW, mã hóa khối, phương pháp Kim tự tháp Laplace,…
1.2.4.3 Các định dạng cơ bản trong xử lý ảnh
Hình ảnh khi lưu trữ dưới dạng tệp tin sẽ được số hóa Một số dạng ảnh
đã được chuẩn hóa như: ảnh GIF, BMP, PCX, IMG,…
Trang 18 Ảnh IMG: Là ảnh đen trắng, được nén theo từng dòng Mỗi dòng gồm các gói, các dòng giống nhau c ng nén thành một gói
Ảnh PCX: Là một trong những định dạng ảnh cổ điển nhất Nó sử dụng phương pháp mã loạt dài RLE (Run Length Encoded) để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh
Ảnh TIFF: Là ảnh mà dữ liệu chứa trong tệp thường được
tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh
Ảnh GIF: Dạng ảnh GIF cho chất lượng cao, độ phân giải
đồ họa cao và cho phép hiển thị trên hầu hết các phần cứng
Tuy các định dạng này khác nhau, song chúng đều tuân theo một cấu trúc chung nhất là gồm 3 phần:
Dữ liệu nén (Data Compression): Số liệu ảnh được mã hóa bởi kiểu mã hóa chỉ ra trong phần Header
Bảng màu (Palette Color): Bảng màu cho biết số màu dùng trong ảnh và sử dụng trong việc hiển thị màu của ảnh Ảnh đen trắng không nhất thiết phải có bảng màu
1.3 Bài toán lọc nhiễu ảnh
Trang 191.3.2 Giới thiệu về nhiễu ảnh
1.3.2.1 Một mô hình của quá trình suy thoái
Trong một không gian miền ta có một bức ảnh f(x, y) và một không gian lọc h(x, y) thu lại hình ảnh bị nhiễu, ta giả dụ rằng nếu h(x, y) bao gồm một dòng đơn nhất, kết quả thu được là sự chuyển động nhòe theo phương hướng của dòng đó ta có thể viết
g (x, y) = f (x, y) * h (x, y) Trong đó * là không gian lọc Tuy nhiên đó chưa phải tất cả chúng ta cần cân nhắc thêm sự nhiễu được mô hình hóa như một chức năng của cuộn lại (sự thu nhận hình ảnh) Nếu đại diện cho biến cố ngẫu nhiên xảy
ra ta có thể biểu diễn bức ảnh bị hư hại theo biểu thức sau:
g (x, y) = f (x, y) *h (x, y) + Chúng ta có thể biểu diễn những hoạt động tương tự trong miền tần số, nơi sự nếp lại được thay thế bởi nhân và có sự bổ sung thêm bởi tính tuyến tính của biến đổi Fourier
G (i, j) = F (i, j) H (I, j) +N (i, j) Biểu diễn tổng thể một bức ảnh bị suy thoái F, H và N được biến đổi tương ứng là f, h và n, nếu chúng ta đã biết giá trị của H và N chúng ta có thể khôi phục F bằng phương trình
F (i, j) = (G (i, j) – N (i, j) ) / H (i, j) Tuy nhiên như chúng ta đã biết đây là phương pháp phi thực tiễn Mặc
dù chúng ta đa biết một số thông tin thống kê và sự nhiễu nhưng chúng ta không biết các giá trị của (i, j) hoặc N(i, j) và bất kì giá trị nào khác Mặt khác sự chia nhỏ H(i, j) là một trở ngại lớn khi xuất hiện các giá trị gần bằng, ngang bằng hoặc bằng 0
Trang 20a) Nhiễu muối, hạt tiêu
Nhiễu Muối, hạt tiêu còn được gọi là xung nhiễu, nhiễu ngắn hoặc nhiễu nhị phân Suy thoái này có thể được gây ra bởi độ tương phản/phân giải ảnh, các rối loạn đột ngột trong các tín hiệu hình ảnh gây ra sự xuất hiện ngẫu nhiên, rải rác các điểm ảnh màu trắng hoặc đen (hoặc cả hai) trên hình ảnh[1], [2]
Để chứng minh sự xuất hiện của nó, chúng ta sẽ rẽ tạo ra một hình ảnh mảng xám bắt đầu với một hình ảnh màu: [3], [4], [8], [9]
>>tw=imread ('twins tif');
>> t=rgb2gray (tw);
Để thêm nhiễu, chúng tôi sử dụng hàm imnoise trong MATLAB , trong
đó có một số các thông số khác nhau
Để thêm nhiễu muối - hạt tiêu: [3], [4], [8], [9]
>> t_sp=imnoise (t, 'salt & pepper');
Trang 21Lƣợng nhiễu thêm vào đƣợc mặc định 10%, thêm nhiễu nhiều hơn hoặc
ít hơn chúng ta bao gồm tùy chọn tham số, là một giá trị giữa 0 và 1 cho thấy các phần nhỏ của các điểm ảnh bị hỏng
ví dụ : >> imnoise (t, 'salt & pepper', 0 2);
Chúng ta sẽ tạo ra một hình ảnh với 20% các điểm ảnh của nó bị hỏng bởi nhiễu muối - hạt tiêu Hình ảnh đƣợc thể hiện trong hình 1.2 và hình ảnh
bị nhiễu đƣợc hiển thị trong hình 1.3
Hình 1 2 Ảnh gốc
Hình 1 3 Thêm nhiễu muối, tiêu
Trang 22b) Nhiễu Gauss
Nhiễu Gauss là một hình thức lý tưởng hoá của nhiễu trắng, bị gây ra bởi sự biến động ngẫu nhiên trong tín hiệu Chúng ta có thể quan sát nhiễu trắng bằng cách xem truyền hình mà hơi sai /không điều chỉnh trên từng kênh riêng cụ thể [1], [2] Gauss nhiễu là nhiễu trắng được phân phối bình thường Nếu hình ảnh được biểu diễn là I và nhiễu Gauss bởi N sau đó chúng ta có thể
mô hình hóa một hình ảnh nhiễu bằng cách đơn giản thêm hai: I+N
Ở đây chúng ta có thể giả định I là một ma trận mà các phần tử là các giá trị pixel của hình ảnh, và N là một ma trận mà các thành phần được phân phối bình thường Nó có thể được chỉ ra rằng đây là một cách thích hợp mô hình cho nhiễu Hiệu ứng này lại có thể được chứng minh bởi hàm imnoise:
>> t_ga=inoise (t, 'Gauss');
Với nhiễu muối - tiêu, nhiễu Gauss các tham số c ng có thể tùy chọn giá trị ý nghĩa và phương sai của nhiễu Các giá trị mặc định là 0 và 0 01, kết quả được thể hiện trong hình sau:
Hình 1.4 Nhiễu Gauss
Trang 23c) Nhiễu đốm
Trong khi nhiễu Gauss có thể được mô hình hóa bởi các giá trị ngẫu nhiên được thêm vào một hình ảnh; đốm nhiễu (hoặc chỉ đơn giản là đốm trên ảnh) có thể được mô hình hóa bởi các giá trị nhân ngẫu nhiên với giá trị pixel,
do đó nó là c ng được gọi là nhân giống nhiễu [6] Châ m nhiễu là một vấn đề lớn trong một số ứng dụng radar Hàm imnoise có thể tạo đốm trên ảnh:
>> t_spk=imnoise (t, 'speckle');
và kết quả được thể hiện trong hình 1.5
Hình 1.5 Nhiễu đốm
Trong MATLAB , nhiễu đốm được thực hiện như I = (1+N); trong đó I
là ma trận hình ảnh, và N bao gồm các giá trị phân bố bình thường có giá trị
0 Một tham số tùy chọn cho phương sai của N có giá trị mặc định là 0.04
Mặc dù nhiễu Gauss và đốm nhiễu xuất hiện tương tự một cách siêu biệt, chúng được hình thành bởi hai phương pháp hoàn toàn khác nhau.Chúng
ta sẽ thấy để loại bỏ chúng đòi hỏi các phương pháp tiếp cận khác nhau
Trang 24d) Các tính chất của không gian và tần số nhiễu
Liên quan đến cuộc thảo luận của chúng tôi là tham số để xác định các đặc điểm không gian của nhiễu, và nhiễu được tương quan với hình ảnh Tính tần số thích hợp đề cập đến nội dung tần số của nhiễu trong ý nghĩa Fourier (tức là như trái ngược với quang phổ điện tử) [1] , [2], [6] Ví dụ: Khi phổ Fourier của nhiễu là hằng số, nhiễu thường được gọi là trắng nhiễu Thuật ngữ này là một thực từ các tính chất vật lý của ánh sáng trắng, trong đó có gần như tất cả các tần số trong quang phổ nhìn thấy được tỷ lệ ngang nhau Từ các cuộc thảo luận, nó không phải là khó khăn để cho thấy rằng phổ Fourier của một hàm chứa tất cả các tần số tỷ lệ ngang nhau là một hằng số
Với ngoại trừ nhiễu không gian định kỳ, chúng tôi giả định rằng nhiễu
là độc lập của các tọa độ không gian, và rằng nó chưa được sửa chữa, với sự tôn trọng tới hình ảnh (có nghĩa là không có sự tương quan giữa các giá trị Pixel và các giá trị của các thành phần nhiễu) Mặc dù những giả định này là
ít nhất một phần không hợp lệ trong một số ứng dụng (lượng tử giới hạn hình ảnh, chẳng hạn như trong X-Quang và y học hạt nhân hình ảnh, là một ví dụ)
e) Nhiễu chu kỳ
Nếu tín hiệu hình ảnh là một sự xáo trộn mang tính định kỳ chứ không phải là ngẫu nhiên, chúng ta có thể có được một hình ảnh bị hỏng bởi nhiễu chu kỳ Hậu quả là trên toàn bộ hình ảnh
Không có một lựa chọn định kỳ, nhưng nó là khá dễ dàng để tự tạo ra bằng cách thêm vào một ma trận định kỳ (bằng cách sử dụng một hàm lượng giác), hình ảnh của ở đây được biểu diễn bằng [7], [8], [9]:
s=size (t);
[x, y]=meshgrid (1 : s (1), 1 : s (2) );
p=sin (x/3+y/5) +1;
t_pn= (im2double (t) +p/2) /2;
Trang 25và hình ảnh kết quả được hiển thị trong hình:
Hình 1.6 Tài liệu bị hỏng bởi nhiễu chu kì
Nhiễu muối-hạt tiêu, nhiễu Gauss và nhiễu đốm đều có thể được loại bỏ bằng cách sử dụng kỹ thuật lọc không gian Tuy nhiên nhiễu chu kỳ đòi hỏi việc sử dụng các bộ lọc miền tần số Nguyên nhân là trong khi các hình thức khác của nhiễu có thể được mô hình hóa như sự giảm sút cục bộ, nhiễu chu kỳ
là một sự tác động toàn diện
1.3.3 Khái niệm lọc nhiễu ảnh
Lọc nhiễu là một công đoạn tiền xử lý trong xử lý ảnh số, nhằm nâng cao chất lượng ảnh cho mắt con người hoặc để phục vụ cho công đoạn sau, xử
lý tốt công đoạn này sẽ giúp cho các công đoạn sau tiến hành được dễ dàng hơn [2], [6]
Có nhiều loại nhiễu khác nhau và c ng có nhiều phương pháp lọc nhiễu khác nhau.Tuy nhiên, tùy từng loại nhiễu mà ta nên sử dụng phương pháp lọc nhiễu nào cho phù hợp vì không phải một phương pháp có thể lọc được hết tất
cả các loại nhiễu
Trang 26Với phạm vi yêu cầu của luận văn, em xin trình bày một số phương pháp lọc nhiễu đã được học Qua đó phân tích và đánh giá đối với từng phương pháp, đồng thời em c ng xây dựng được chương trình lọc ảnh bằng các phương pháp đó để so sánh
Trang 27CHƯƠNG 2 – CÁC KỸ THUẬT LỌC NHIỄU ẢNH
2.1 Kỹ thuật lọc trung bình
Với lọc trung bình mỗi điểm ảnh được thay thế bằng trung bình trọng
số của các điểm lân cận và được định nghĩa như sau [1], [2]:
Nếu trong kỹ thuật lọc trên ta dùng các trọng số như nhau thì phương trình trên sẽ trở thành
Lọc trung bình có trọng số chính là thực hiện chập ảnh đầu vào với
nhân chập H, nhân chập H trong trường hợp này có dạng
Trong lọc trung bình, thường người ta ưu tiên cho các hướng để bảo vệ biên của ảnh khỏi bị mờ khi làm trơn ảnh Các kiểu mặt nạ được sử dụng tùy theo các trường hợp khác nhau Các bộ lọc trên là bộ lọc tuyến tính theo nghĩa
là điểm ảnh ở tâm cửa sổ sẽ được thay bởi tổ hợp các điểm lân cận chập với mặt nạ
Trang 28Giả sử đầu vào biểu diễn bởi ma trận I:
Ảnh số thu được bởi bộ lọc trung bình có dạng
Một bộ lọc trung bình không gian khác c ng hay được sử dụng Phương trình của bộ lọc đó có dạng:
Ở đây nhân chập H có kích thước 2x2 và mỗi điểm ảnh kết quả có giá trị bằng trung bình cộng của nó với trung bình cộng của 4 lân cận gần nhất
Lọc trung bình trọng số là một trường hợp riêng của lọc thông thấp Trong MATLAB , lọc trung bình được thực hiện bởi hàm medfilt2 [8]:
>> t_sp_m3=medfilt2 (t_sp);
và kết quả được hiển thị trong hình Kết quả là một cải tiến lớn trên bằng cách sử dụng các bộ lọc trung bình
Trang 29Hình 2.1 Xóa muối-hạt tiêu với hàm medfilt
2.2 Kỹ thuật lọc thích nghi
Bộ lọc FIR ( Finite Impulse Response) thích nghi dạng trực tiếp [1], [2]
Từ chuẩn bình phương tối thiểu đưa tới khuân mẫu chung thiết lập công thức tuyến tính cho hệ số bộ lọc
Dãy tự tương quan rcx(l) và tương quan chéo rdx(l) nhận được từ dữ liệu,
do đó chúng mô tả những ước lượng của dãy tương quan và tự tương quan thực Hệ số h(k) ở công thức trên c ng là những ước lượng của hệ số thực Độ chính xác của các ước lượng phụ thuộc vào độ dài của bản ghi dữ liệu, đó là 1 vấn đề cần cân nhắc trong hệ thống xử lý của bộ lọc
Một đặc điểm nữa cần quan tâm đó là quá trình ngẫu nhiên cơ bản x(n) thường xuyên không ổn định Ví dụ trong bộ hiệu chỉnh kênh, các thông số đặc trưng cho tần số có thể biến đổi theo thời gian Như 1 hệ quả, các dãy tương quan và tự tương quan thống kê, và các ước lượng của chúng thay đổi
Trang 30theo thời gian, điều này làm cho hệ số của bộ lọc thích nghi c ng phải thay đổi theo thời gian để phản ánh được các thông số thay đổi theo thời gian của tín hiệu ở đầu vào bộ lọc Điều này c ng kéo theo chất lượng của ước lượng không thể tăng bằng cách đơn giản là tăng số mẫu tín hiệu được sử dụng trong ước lượng các dãy tương quan và tự tương quan
Có nhiều cách để hệ số của bộ lọc có thể thay đổi theo thời gian cùng với các thông số thống kê theo thời gian của tín hiệu Phương pháp phổ biến nhất là đưa vào bộ lọc dựa trên các mẫu liên tiếp một các đệ quy mỗi khi nhận được mẫu tín hiệu Cách thứ 2 là ước lượng rcx(l) và rdx(l) trên cơ sở các khối liên tiếp và không duy trì sự liên tục của các giá trị của hệ số bộ lọc từ một khối dữ liệu tới 1 khối khác Kích thước khối phải tương đối nhỏ, chiếm 1 khoảng thời gian ngắn khi so sánh với khoảng thời gian mà các đặc trưng thống kê của dữ liệu thay đổi 1 cách đáng kể
Khi nghiên cứu về các thuật toán của bộ lọc thích nghi, ta chỉ chú ý tới các thuật toán đệ quy thời gian mà nó cập nhật hệ số dựa trên các mẫu liên tiếp
>> t_sp_a3 = filter2 (a3, t_sp);
và kết quả được thể hiện trong hình 2.2 (b) Tuy nhiên, nhiễu được không quá nhiều gỡ bỏ như bôi qua hình ảnh, kết quả không phải là chú ý tốt hơn hơn so với hình ảnh nhiễu Hiệu quả là thậm chí còn rõ rệt hơn nếu chúng
ta sử dụng một bộ lọc trung bình lớn hơn :
>> a7 = fspecial ('average', [7, 7]);
Trang 31>> t_sp_a7 = filter2 (a7, t_sp);
Trang 32thế lọc trung bình bằng lọc theo thứ tự là nó cho phép ta tùy chọn lọc trung bình hay lọc không phải khối chữ thập mặt lạ Ví dụ ta chọn lọc 3x3 khối chữ thập mặt lạ kết quả là giá trị trung bình sẽ rơi vào giá trị thứ 3 của chuỗi sắp xếp Lệnh thực hiện là :
Y (i, j) = X (i j) F (i, j) Giả sử ta có ảnh tài liệu tailieu.tif làm mờ bằng lọc cấp thấp (lọc sơ cấp) lọc theo kĩ thuật butterworth :
>> w1=fftshift (fft2 (wba) ) /b;
Trang 33>> w1a=abs (ifft2 (w1) );
>> imshow (mat2gray (w1a) ) Kết quả cho bởi hình trên, bên phải không có bất kì sự cải thiện nào Vấn đề ở đây là các phần tử của ma trận Butterworth rất nhỏ cần phải nâng cao các giá trị chiếm ƣu thế ở đầu ra bằng hai cách:
Trang 34tốt nhất là b nếu giảm bán kính quá nhiều hình ảnh sẽ bị suy thoái hơn (vỡ ảnh)
Hình 2.5 Giảm bán kính lọc Chúng ta dùng phương pháp thứ 2 để tạo các giá trị gần 1: