BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƢỜ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ÍNH
Ngƣời hƣớng dẫn khoa học: PGS. TS. NGÔ QUỐC TẠO
HÀ NỘI, 2015
1
LỜ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ể
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
4
2.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
Hình 2.5 Giảm bán kính lọc
Hình 2.6 “phân chia hạn chế” : chọn ngưỡng giá trị d
Hình 3.1(a) Lấy trung bình 3*3
Hình 3.1(b) Lấy trung bình 5*5
Hình 3.2 Xóa muối-hạt tiêu với hàm medfilt
Hình 3.3 Giao diện chính của chương trình lọc nhiễu ảnh
Hình 3.4 Thư mục khi chọn ảnh đầu vào
Hình 3.5 Ảnh sau khi làm hư hại Gauss
Hình 3.6 Lọc trung bình mặt nạ 3x3 loại bỏ nhiễu Gauss
Hình 3.7 Lọc trung bình mặt nạ 5x5 loại bỏ nhiễu Gauss
Hình 3.8 Lọc tương thích mặt nạ 5x5 loại bỏ nhiễu Gauss
Hình 3.9 Lọc tương thích mặt nạ 7x7 loại bỏ nhiễu Gauss
Hình 3.10 Lọc tương thích mặt nạ 9x9 loại bỏ nhiễu Gauss
Hình 3.11Ảnh sau khi làm hư hại muối - tiêu
Hình 3.12 Lọc trung bình loại bỏ nhiễu muối - tiêu
Hình 3.13 Lọc cấp độ thấp mặt nạ 3x3 loại bỏ nhiễu muối - tiêu
Hình 3.14 Lọc cấp độ thấp mặt nạ 5x5 loại bỏ nhiễu muối - tiêu
Hình 3.15 Lọc theo thứ tự mặt nạ 3x3 loại bỏ nhiễu muối - tiêu
Hình 3.16 Lọc theo thứ tự mặt nạ 5x5 loại bỏ nhiễu muối - tiêu
12
20
20
21
22
24
28
30
30
32
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
7
- 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
Chọn ra phƣơng pháp lọc hợp lý cho ảnh cụ thể.
Xây dựng chƣơng trình ứng dụng lọc nhiễu cho ảnh phong cảnh, ảnh
2.3 Kỹ thuật lọc cấp độ thấp
2.4 Kỹ thuật lọc theo thứ tự
2.5 Kỹ thuật lọc nghịch đảo
2.6 Kỹ thuật lọc Band Reject
2.7 Sử dụng bộ lọc Notch
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
3.1 Bài toán
3.2 Thử nghiệm chƣơng trình lọc nhiễu muối tiêu và Gauss
3.3 Chƣơng trình lọc nhiễu ảnh
3.4 Kết quả thử nghiệm chƣơng trình lọc nhiễu ảnh
9
CHƢƠ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ử
lý ảnh có thể nêu ra nhƣ sau:
•
Xử lý ảnh ban đầu để có đƣợc ảnh mới theo một yêu cầu xác
định (Ví dụ nhƣ ảnh mờ, cần xử lý để đƣợc ảnh rõ hơn).
•
Phân tích ảnh để thu đƣợc các thông tin đặc trƣng giúp cho việ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ị.
11
Theo đị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 *
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)}
13
Tậ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:
V = {32,33,…,63,64}.
Có 3 loại liên kết.
Liên kết 4: Hai điểm ảnh p và q đƣợc nói là liên kết 4 với các giá
trị cƣờng độ sáng V nếu q nằm trong một các lân cận của p, tức q thuộc N4(p)
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:
D8(p,q) = max (|x-s|, |y-t|)
1.2.2 Thu nhận ảnh
Các thiết bị thu nhận ảnh bao gồm camera, scanner các thiết bị thu nhận
này có thể cho ảnh đen trắng
Các thiết bị thu nhận ảnh có 2 loại chính ứng với 2 loại ảnh thông dụng
Raster, Vector.
Các thiết bị thu nhận ảnh thông thƣờng Raster là camera, các thiết bị
thu nhận ảnh thông thƣờng Vector là sensor hoặc bàn số hóa Digitalizer hoặc
đƣợc chuyển đổi từ ảnh Raster.
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
15
1.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.
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,…
17
Ả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.
18
1.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.
20
Lƣợ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
21
b) 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:
d) 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;
24