43
Mc lc 1 M đƒu 3 2 Gii thi»u chung v• xß lý £nh 5 2.1 TŒng quan v• xß lý £nh .................... 5 2.2 Các v§n đ• cơ b£n trong xß lý £nh............... 6 2.2.1 Các khái ni»m ...................... 6 2.2.2 Bi”u di„n £nh ...................... 10 2.2.3 Tăng cưng £nh ..................... 13 2.2.4 Phân vùng £nh ..................... 13 2.2.5 Trích chn đc tính ................... 14 2.2.6 Nh“n d/ng £nh ..................... 14 2.2.7 Nén £nh ......................... 15 2.2.8 Các đnh d/ng £nh cơ b£n ............... 16 3 Mºt sL bài toán v• xß lý £nh 18 3.1 Các bài toán c£i thi»n £nh sß dng toán tß đi”m ...... 18 3.2 Tăng đº tương ph£n (Stretching Contrast) .......... 20 3.3 Tăng gi£m đº sáng ....................... 21 3.4 C£i thi»n £nh dùng toán tß không gian ............ 22 1 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Xử lý ảnh và ứng dụng thư viện AForge.NET

Embed Size (px)

DESCRIPTION

Đây là báo cáo bài tập lớn của mình về xử lý ảnh và ứng dụng thư viện AForge.NET trong xử lý ảnh.

Citation preview

Page 1: Xử lý ảnh và ứng dụng thư viện AForge.NET

Mục lục

1 Mở đầu 3

2 Giới thiệu chung về xử lý ảnh 5

2.1 Tổng quan về xử lý ảnh . . . . . . . . . . . . . . . . . . . . 5

2.2 Các vấn đề cơ bản trong xử lý ảnh. . . . . . . . . . . . . . . 6

2.2.1 Các khái niệm . . . . . . . . . . . . . . . . . . . . . . 6

2.2.2 Biểu diễn ảnh . . . . . . . . . . . . . . . . . . . . . . 10

2.2.3 Tăng cường ảnh . . . . . . . . . . . . . . . . . . . . . 13

2.2.4 Phân vùng ảnh . . . . . . . . . . . . . . . . . . . . . 13

2.2.5 Trích chọn đặc tính . . . . . . . . . . . . . . . . . . . 14

2.2.6 Nhận dạng ảnh . . . . . . . . . . . . . . . . . . . . . 14

2.2.7 Nén ảnh . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2.8 Các định dạng ảnh cơ bản . . . . . . . . . . . . . . . 16

3 Một số bài toán về xử lý ảnh 18

3.1 Các bài toán cải thiện ảnh sử dụng toán tử điểm . . . . . . 18

3.2 Tăng độ tương phản (Stretching Contrast) . . . . . . . . . . 20

3.3 Tăng giảm độ sáng . . . . . . . . . . . . . . . . . . . . . . . 21

3.4 Cải thiện ảnh dùng toán tử không gian . . . . . . . . . . . . 22

1

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 2: Xử lý ảnh và ứng dụng thư viện AForge.NET

3.4.1 4.1 Làm trơn nhiễu bằng lọc tuyến tính: lọc trung

tính và lọc dải thông thấp . . . . . . . . . . . . . . . 23

3.4.2 Làm trơn bằng nhiễu lọc phi tuyến . . . . . . . . . . 27

3.5 Bài toán về phát hiện biên ảnh . . . . . . . . . . . . . . . . 29

3.5.1 Một số khái niệm . . . . . . . . . . . . . . . . . . . . 29

3.5.2 Phân loại các kỹ thuật phát hiện biên . . . . . . . . . 29

3.5.3 Quy trình phát hiện biên . . . . . . . . . . . . . . . . 30

3.5.4 Các phương pháp phát hiện biên . . . . . . . . . . . 31

4 Giới thiệu về thư viện Aforge.NET và chương trình minh

họa 36

Kết luận 42

Tài liệu tham khảo 43

2

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 3: Xử lý ảnh và ứng dụng thư viện AForge.NET

Chương 1

Mở đầu

Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Tại sao

nói như vậy thì trong phần báo cáo của bài tập lớn này em hy vọng sẽ giúp

mọi người hiểu rõ hơn về xử lý ảnh và những ứng dụng thực tiễn của nó

mang lại.

Xử lý ảnh là một nghành khoa học còn mới mẻ so với những nghành

khoa học khác nhưng tốc độ phát triển của nó là rất nhanh, đặc biệt trong

thời đại bùng nổ công nghệ thông tin hiện nay. Nó kích thích các trung

tâm nghiên cứu, các ứng dụng và đặc biệt là các máy tính chuyên dụng hỗ

trợ cho nó.

Phương pháp xử lý ảnh bắt đầu từ việc nâng cao chất lượng hình ảnh

và phân tích ảnh. Ứng dụng đầu tiên được biết đến đó là nâng cao chất

lượng ảnh báo được truyền qua cáp London đến New York từ những năm

1920. Việc nâng cao chất lượng hình ảnh được phát triển khoảng từ năm

1955 và việc nâng cao đó hình ảnh đó liên quan đến mức phân bố mức sáng

và độ phân giải của điểm ảnh. Sau những năm của thế chiến thứ II, máy

tính phát triển nhanh tạo điều kiện cho việc xử lý ảnh số được thuận lợi.

Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng hình

ảnh từ Mặt trăng và vệ tinh Ranger 7 của Mỹ gồm làm nổi đường biên

và lưu ảnh. Từ đó đến nay các phương tiện xử lý, nâng cao, nhận dạng

3

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 4: Xử lý ảnh và ứng dụng thư viện AForge.NET

ảnh phát triển không ngừng. Các phương pháp tri thức nhân tạo như nhận

diện khuôn mặt, mạng nơ-ron nhân tạo, các thuật toán xử lý hiện đại, các

công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả

khả quan, ứng dụng rất nhiều vào thực tiễn.

Trong những năm gần đây, phần cứng máy tính và các thiết bị liên

quan đã có những tiến bộ vượt bậc tốc độ tính toán, dung lượng lưu trữ,

khả năng xử lý v.v...Khái niệm ảnh, ảnh số đã trở nên thông dụng và mọi

người thu nhận hình ảnh bằng thiết bị cá nhân rồi đưa vào máy tính xử

lý đã trở nên đơn giản hơn rất nhiều. Ở Việt Nam, xử lý ảnh đã được đưa

vào giảng dạy ở bậc đại học, việc nghiên cứu xây dựng và phát triển các

ứng dụng về lĩnh vực xử lý ảnh là một vấn đề mời và đang được quan tâm

nhiều hơn. Xử lý ảnh là một lĩnh vực đang được quan tâm và trở thành

môn học chuyên nghành của nhiều nghành công nghệ thông tin, toán tin

trong nhiều trường đại học trên cả nước. Nhưng phần lớn giá trình tài liệu

đều dưới dạng công thức toán, ít được thể hiện dưới dạng công thức có thể

lập trình được. Vì vậy việc xây dựng thuật toán và lập trình một số cơ bản

trong xử lý ảnh là rất cần thiết giúp cho việc nghiên cứu tìm hiểu về lý

thuyết xử lý ảnh được trực quan sinh động hơn.

Vì vậy bài báo cáo này em xin giành để giới thiệu về xử lý ảnh, gói

thư viện xử lý ảnh trong C# đó là Aforge.NET các hàm trong thư viện đó

và một số ứng dụng đơn giản về xử lý ảnh trong thư viện này.

4

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 5: Xử lý ảnh và ứng dụng thư viện AForge.NET

Chương 2

Giới thiệu chung về xử lý

ảnh

2.1 Tổng quan về xử lý ảnh

Quá trình xử lý ảnh được xem như là thao tác đầu vào nhằm cho ra

kết quả mong muốn. Để có hình dung quá trình một hệ thống xử lý ảnh ta

có thể xem xét các bước cần thiết sau trong xử lý ảnh.

5

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 6: Xử lý ảnh và ứng dụng thư viện AForge.NET

Hình 1.1 Các giai đoạn chính trong xử lý ảnh.

Trước hết là quá trình thu nhận ảnh, ảnh có thể thu nhận qua camera.

Thường ảnh thu nhận qua camera là tín hiệu tương tự (loại camera ống kiểu

CCIR), nhưng cũng có thể là tín hiệu số hóa (loại CCD-Charge Coupled

Device). Ngoài ra, ảnh cũng có thể nhận từ vệ tinh qua các bộ cảm ứng

(sensor) hay ảnh, tranh được quét trên scanner.

Tiếp theo là quá trính số hóa (digitalizer) để biến đổi tín hiệu tương

tự sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lượng tử hóa, trước khi

chuyển sang giai đoạn xử lý, phân tích hay lưu trữ lại.

Quá trình phân tích ảnh thực chất bao gồm nhiều công đoạn nhỏ,

trước hết là công viêc tăng cường ảnh. Do những 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

mà ảnh có thể bị suy biến. Do vậy cần phải tăng cường khôi phục ảnh để

làm nổi bật một số đặc tính của ảnh, hay làm gần giống với trạng thái

gốc-trạng thái trước khi ảnh bị biến dạng. Giai đoạn tiếp theo là phát hiện

các đặc tính như: biên, phân vùng ảnh, trích chọn các đặc tính,v.v...

Cuối tùy theo mục đích của ứng dụng mà sẽ là giai đoạn nhận dạng,

phân lớp hay các quyết định khác.

2.2 Các vấn đề cơ bản trong xử lý ảnh.

2.2.1 Các khái niệm

Điểm ảnh (pixel element)

Gốc của ảnh là ảnh liên tục về không gian và độ sáng. Để xử lý bằng

máy tính ả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 hợ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

6

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 7: Xử lý ảnh và ứng dụng thư viện AForge.NET

lập sao cho mắt người không phân biệt được ranh giới giữa chúng. Mỗi

điểm như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là pixel.

Trong khuôn khổ ảnh 2 chiều, mỗi pixel ứng với mỗi cặp tọa độ (x,y).

Độ phân giải của ảnh

Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định

trên một ảnh số được hiển thị. 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 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 được phân bố theo trục x và y trong không gian hai chiều.

Ví dụ: Độ phân giải trên màn hình Smartphone VGA là 800*480 ( tức

là 800 điểm ảnh chiều học*480 điểm ảnh chiều ngang) thì thấy với màn

hình 4” thấy mịn hơn màn hình 5”. Lý do là cùng một mật độ nhưng diện

tích màn hình rộng hơn thì độ mịn kém hơn (tức là liên tục các điểm).

Mức xám của ảnh (Gray level)

Là kết quả của sự biến đổi tương ứng một giá trị độ sáng của một

điểm ảnh với một giá trị nguyên dương. Thông thường được xác định trong

khoảng [0...255]. Tùy thuộc vào giá trị xám mà mỗi điểm ảnh được biểu

diễn trên 1, 4, 8, 24 hay 32 bit.

Ảnh số

Là tập hợp hữu hạn các điểm ảnh, thường được biểu diễn bằng một

mảng hai chiều I(m,n) với m là số hàng, n là số cột. Ta ký hiệu P(x,y) là

một điểm ảnh tại vị trí (x, y). Số lượng điểm ảnh trên mỗi hàng hoặc các

hàng xác định độ phân giải của ảnh. Ảnh số được chia làm 3 loại:

• Ảnh nhị phân: Giá trị xám của tất cả các điểm ảnh chỉ nhận 0 hoặc

7

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 8: Xử lý ảnh và ứng dụng thư viện AForge.NET

1. Như vậy thì mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi

1 bit.

• Ảnh xám: Giá trị xám nằm trong khoảng 0 đến 255, mỗi điểm ảnh

trong ảnh xám được biểu diễn bởi 1 byte.

• Ảnh màu: ảnh màu theo lý thuyết của Thomas là ảnh tổ hợp từ 3

màu cơ bản: R (Red), G (Green), B (BLue) và thường thu nhận trên

các dãi băng tần khác nhau. Với ảnh màu cách biểu diễn cũng tương

tự như ảnh đen trắng chỉ khác là các số tại mỗi phần tử của ma trận.

Người ta dùng 3 byte để mô tả mức màu, khi đó các giá trị màu :

28∗3 = 224 = 16,7 triệu màu.

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)

• Lân cận của một điểm ảnh

Một điểm ảnh p tại tọa độ (x, y) có các lân cận theo chiều ngang và

chiều dọc là: (x+1, y), (x-1, y), (x, y+1), (x, y-1).

Tập hợp các điểm ảnh trên được gọi là lân cận 4 của p, ký hiệu N4(p).

Mỗi điểM ảnh có khoảng cách đơn vị đến (x, y), và nếu (x, y) nằm trên

biên của ảnh thì lân cận của nó có thể nằm ngoài ảnh.

Các lân cận chéo của p có tọa độ: (x+1, y+1), (x+1, y-1), (x-1, y+1),

(x-1, y-1).

Tập lân cận chéo được ký hiệu ND(p).

Tập lân cận chéo cùng với lân cận 4 tạo thành lân cận 8 của p, ký hiệu

N8(p).

8

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 9: Xử lý ảnh và ứng dụng thư viện AForge.NET

Hình 1.2 Lân cận của 1 điểm ảnh

• Liên kết giữa các đ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 ảnh 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 với các giá trị cường độ sáng V được

nói là liên kết 4 nếu q nằm trong tập N4(p).

+ Liên kết 8:Hai điểm ảnh p và q với các giá trị cường độ sáng V được gọi

là liên kết 8 nếu q nằm trong tập N8(p).

+ Liên kết m (liên kết hỗn hợp):Hai điểm ảnh p và q với các giá trị cường

độ sáng V được nói là liên kết m nếu: q thuộc N4(p)hoặc q thuộc ND(p).

Lược đồ mức xám (Histogram)

Lược đồ mức xám của ảnh là một hàm cung cấp tuần suất xuất hiện

của mỗi mức xám trong ảnh. Lược đồ mức xám được biểu diễn trong hệ

tọa độ Decac xOy, trong đó Ox biểu diễn các mức xám của ảnh (256 mức

trong trường hợp chúng ta xét), Oy biểu diễn số điểm ảnh cho một mức

xám (số điểm ảnh có cùng mức xám).

9

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 10: Xử lý ảnh và ứng dụng thư viện AForge.NET

Lược đồ mức xám cung cấp rất nhiều thông tin về sự phân bố mức

xám của ảnh. Theo thuật ngữ của xử lý ảnh gọi là tính động của ảnh, tính

động của ảnh cho phép phân tích một khoảng nào đó phân bố phần lớn

các mức xám của ảnh: ảnh rất sáng hay rất đậm. Nếu ảnh sáng, lược đồ

xám nằm bên phải (mức xám cao), còn ảnh đậm thì lược đồ xám nằm bên

trái (mức xám thấp).

Hình 1.3 Hình ảnh biểu diễn lược đồ xám của một bức ảnh.

2.2.2 Biểu diễn ảnh

Ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu

tiếp theo để phân tích. Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi

dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và

công nghệ. Thông thường, các ảnh thô đó được đặc tả (biểu diễn) lại (hay

đơn giản là mã hoá) theo các đặc điểm của ảnh được gọi là các đặc trưng

ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region). Một

10

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 11: Xử lý ảnh và ứng dụng thư viện AForge.NET

số phương pháp biểu diễn thường dùng:

• Biểu diễn bằng mã chạy (Run-Length Code)

• Biểu diễn bằng mã xích (Chaine -Code)

• Biểu diễn bằng mã tứ phân (Quad-Tree Code)

Biểu diễn bằng mã chạy

Phương pháp này thường biểu diễn cho vùng ảnh và áp dụng cho ảnh

nhị phân. Một vùng ảnh R có thể mã hoá đơn giản nhờ một ma trận nhị

phân:

U(m,n) = 1 nếu (M,n) thuộc R.

U(m,n) = 0 nếu (M,n) không thuộc R.

Trong đó: U(m, n) là hàm mô tả mức xám ảnh tại tọa độ (m, n). Với

cách biểu diễn trên, Một vùng ảnh được mô tả bằng một tập các chuỗi số

0 hoặc 1. Giả sử chúng ta mô tả ảnh nhị phân của một vùng ảnh được thể

hiện theo toạ độ (x, y) theo các chiều và đặc tả chỉ đối với giá trị “1”. Khi

đó dạng mô tả có thể là: (x, y)r; trong đó (x, y) là toạ độ, r là số lượng các

bit có giá trị “1” liên tục theo chiều ngang hoặc dọc.

11

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 12: Xử lý ảnh và ứng dụng thư viện AForge.NET

Hình 1.4 Hình minh họa biểu diễn bằng mã loạt dài

Biểu diễn bằng mã xích

Phương pháp này thường dùng để biểu diễn đường biên ảnh. Một

đường bất kỳ được chia thành các đoạn nhỏ. Nối các điểm chia, ta có các

đoạn thẳng kế tiếp được gán hướng cho đoạn thẳng đó tạo thành một dây

xích gồm các đoạn. Các hướng có thể chọn 4, 8, 12, 24,. . . Mỗi hướng được

mã hoá theo số thập phân hoặc số nhị phân thành mã của hướng.

Hình 1.5 Hướng các điểm biên và mã tương ứng

A11070110764545432

12

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 13: Xử lý ảnh và ứng dụng thư viện AForge.NET

Biểu diễn bằng mã tứ phân

Theo phương pháp mã tứ phân, một vùng của ảnh coi như bao kín bời

một hình chữ nhật. Vùng này được chia làm 4 vùng con. Nếu vùng con gồm

toàn điểm đen(1) hay toàn điểm trắng (0) thì không cần chia tiếp. Trong

trường hợp ngược lại, vùng con gồm cả đen và trắng gọi là vùng xám lại

tiếp tục được chia làm 4 vùng con tiếp. Quá trình chia dừng lại khi không

thể chia tiếp được nữa, có nghĩa là vùng con chỉ chứa thuần nhất điểm

đen hay trắng. Như vậy, cây biểu diễn gồM Một chuỗi các kí kiệu b(black),

w(white) và g (grey) kèm theo ký hiệu mã hóa 4 vùng con. Biểu diễn theo

phương pháp này ưu việt hơn so với các phương pháp trên, nhất là so với

mã loạt dài. Tuy nhiên, để tính toán số đo các hình như chu vi, Mô-men là

khá khó.

2.2.3 Tăng cường ảnh

Tăng cường ảnh là bước quan trọng, tạo tiền đề cho xử lý ảnh. Tăng

cường ảnh nhằM hoàn thiện các đặ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ố.

2.2.4 Phân vùng ảnh

Để phân tích các đối tượng trong ảnh, chúng ta cần phải phân biệt

được các đối tượng cần quan tâm với phần còn lại của ảnh. Những đối

tượng này có thể tìm ra được nhờ các kỹ thuật phân vùng ảnh.

13

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 14: Xử lý ảnh và ứng dụng thư viện AForge.NET

Vùng ảnh là một chi tiết, một thực thể trong toàn cảnh. Nói đến vùng

ảnh là nói đến tính chất bề mặt của ảnh. Nó là một tập hợp các điểm có

cùng hoặc gần cùng một tính chất nào đó : mức xám, màu sắc. . . Đường

bao quanh một vùng ảnh (Boundary) là biên ảnh. Các điểm trong một

vùng ảnh có độ biến thiên giá trị mức xám tương đối đồng đều hay tính

kết cấu tương đồng.

Một phương pháp phân vùng ảnh là sử dụng một ngưỡng giá trị xám

để phân tách ảnh thành đối tượng và nền (những điểm dưới ngưỡng xám

thuộc về nền, ngược lại thuộc về đối tượng).

2.2.5 Trích chọn đặc tính

Dựa trên các thông tin thu nhận được qua quá trình phân vùng, kết

hợp với các kỹ thuật xử lý để đưa ra các đặc trưng, đối tượng ảnh cũng

như các thông tin cần thiết trong quá trình xử lý.

Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối

tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ

giảm xuống.

2.2.6 Nhận dạng ảnh

Nhận dạng là quá trình phân loại các đối tượng được biểu diễn theo

một mô hình nào đó và gán chúng một tên (gán cho đối tượng một tên gọi,

tức là một dạng) dựa theo những quy luật và mẫu chuẩn.

Theo 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ận dạng ảnh cơ bản:

• Nhận dạng theo tham số.

• Nhận dạng theo cấu trúc.

14

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 15: Xử lý ảnh và ứng dụng thư viện AForge.NET

Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng

trong khoa họ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ạng vă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. . .

Ngoài ra, hiện nay một kỹ thuật nhận dạng Mới dựa vào kỹ thuật

mạng nơ ron đang được áp dụng và cho kết quả khả quan.

2.2.7 Nén ảnh

Nhằm giảm thiểu không gian lưu trữ của ảnh, nén ảnh thường được

tiến hành theo cả hai khuynh hướng là nén có bảo toàn và không bảo toàn

thông tin.

Nén không bảo toàn thì thường có khả năng nén cao hơn nhưng khả

năng phục hồi thì kém hơn. Trên cơ sở hai khuynh hướng, có 4 cách tiếp

cận cơ bản trong nén ảnh:

• Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần suất

xuất hiện của giá trị các điểm ảnh, trên cơ sở đó mà có chiến lược

mã hóa thích hợp. Một ví dụ điển hình cho kỹ thuật mã hóa này là

*.TIF

• Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các

điểm ảnh để tiến hành mã hóa. Kỹ thuật lợi dụng sự giống nhau của

các điểm ảnh trong các vùng gần nhau. Ví dụ cho kỹ thuật này là mã

nén *.PCX

• Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng

nén không bảo toàn và do vậy, kỹ thuật thướng nến hiệu quả hơn.

*.JPG chính là tiếp cận theo kỹ thuật nén này.

• Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh,

thể hiện sự lặp lại của các chi tiết. Kỹ thuật nén sẽ tính toán để chỉ

15

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 16: Xử lý ảnh và ứng dụng thư viện AForge.NET

cần lưu trữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý

Fractal.

2.2.8 Các định dạng ảnh cơ bản

Ảnh thu được sau quá trình số hóa thường được lưu lại cho các quá

trình xử lý tiếp theo hay truyền đi. Trong quá trình phát triển của kỹ thuật

xử lý ảnh, tồn tại nhiều định dạng ảnh khác nhau từ ảnh đen trắng (với

định dạng IMG), ảnh đa cấp xám cho đến ảnh Màu: (BMP, GIF, JPE. . . ).

Tuy các định dạng này khác nhau, song chúng đều tuân thủ theo một cấu

trúc chung nhất. Nhìn chung, Một tệp ảnh bất kỳ thường bao gồm 3 phần:

• Mào đầu tệp (Header)

Là phần chứa các thông tin về kiểu ảnh, kích thước, độ phân giải, số

bit dùng cho 1 pixel, cách mã hóa, vị trí bảng màu. . .

• 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 không nhất thiết phải có, ví dụ khi ảnh là đen trắng. Nếu

có, bảng màu cho biết số màu dùng trong ảnh và bảng màu được sử dụng

để hiện thị màu của ảnh.

Ảnh BMP (Bitmap)

Là ảnh được mô tả bởi một ma trận các giá trị số xác định màu và

bảng màu của các điể ảnh tương ứng khi hiển thị. Ưu điểm của ảnh Bitmap

là tốc độ vẽ và tốc độ xử lý nhanh. Nhược điểm của nó là kích thước rất

lớn.

16

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 17: Xử lý ảnh và ứng dụng thư viện AForge.NET

Ảnh JPEG (Joint Photographic Experts Group)

Đây là một định dạng ảnh được hỗ trợ bởi nhiều trình duyệt web. Ảnh

JPEG được phát triển để nén dung lượng và lưu trữ ảnh chụp, và được sử

dụng tốt nhất cho đồ họa có nhiều Màu sắc, ví dụ như là ảnh chụp được

scan. File Ảnh JPEG là ảnh Bitmap đã được nén lại.

Ảnh GIF (Graphics Interchange Format)

Ảnh GIF được phát triển dành cho những ảnh có tính chất thay đổi.

Nó được sử dụng tốt nhất cho đồ họa có ít màu, ví dụ như là ảnh hoạt

hình hoặc là những bức vẽ với nhiều đường thẳng. File ảnh GIF là những

ảnh Bitmap được nén lại.

Có hai sự khác nhau cơ bản giữa ảnh GIF và ảnh JPEG:

• Ảnh GIF nén lại theo cách giữ nguyên toàn bộ dữ liệu ảnh trong khi

ảnh JPEG nén lại nhưng làm mất một số dữ liệu trong ảnh.

• Ảnh GIF bị giới hạn bởi số Màu nhiều nhất là 256 trong khi ảnh

JPEG không giới hạn số màu mà chúng sử dụng.

17

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 18: Xử lý ảnh và ứng dụng thư viện AForge.NET

Chương 3

Một số bài toán về xử lý

ảnh

3.1 Các bài toán cải thiện ảnh sử dụng toán

tử điểm

Xử lý điểm ảnh thực chất là biến đổi một giá trị điểm ảnh dựa vào đặc

tính của chính nó mà không hề dựa vào các điểm ảnh khác. Có hai cách

tiếp cận phương pháp này. Cách thứ nhất dùng một hàm biến đổi thích

hợp với mục đích hoặc yêu cầu đặt ra để biến đổi giá trị mức xám của điểm

ảnh sang một giá trị mức xám khác. Cách thứ hai là dùng lược đồ xám

(Gray Histogram). Về mặt toán học, toán tử điểm là một ánh xạ từ giá trị

cường đọ sáng u(m,n) thông qua hàm f(.) tức là :

v(m,n)=f(u(m,n)).

Nói một cách khác, toán tử điểm là toán tử không bộ nhớ, ở đó một

mức xám u ∈ [0, N ] ánh xạ sang một mức xám v ∈ [0, N ] : v = f(u). Ứng

dụng chính của các toán tử điểm là đổi độ tương phản của ảnh. Ánh xạ f

khác nhau tùy theo các ứng dụng. Các dạng toán tử được giới thiệu cụ thể

như sau :

18

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 19: Xử lý ảnh và ứng dụng thư viện AForge.NET

• Tăng độ tương phản

f(u) =

αu α ≤ u < a

β(u− a) + va a ≤ u < b

γ(u− b) + vb β ≤ u < L

.

Các cấp độ α,β,γ xác định độ tương phản tương đối. L là số mức xám

cực đại.

• Tách nhiễu và phân ngưỡng

Tách nhiễu là trường hợp đặc biệt của dãn độ tương phản khi hệ số

góc α = γ = 0. Tách nhiễu được ứng dụng có hiệu quả để giảm nhiễu khi

biết tín hiệu đầu vào trên khoảng [a, b].

Phân ngưỡng là trường hợp đặc biệt của tách nhiễu khi a = b = const.

Trong trường hợp này, ảnh đầu vào là ảnh nhị phân (có 2 mức). Phân

ngưỡng thường dùng trong kỹ thuật in ảnh 2 màu vì ảnh gần nhị phân

không cho ảnh nhị phân khi quét do có nhiễu từ bộ cảm biến và biến đổi

của nền.

f(u) =

0 0 ≤ u < a

αu a ≤ u < b

L u ≥ b

.

• Biến đổi âm bản (Digital Negative)

Âm bản nhận được bằng phép biến đổi âm. Phép biến đổi rất có nhiều

hữu ích trong các phim ảnh dùng trong các ảnh y học.

f(u) = L− u tạo âm bản

• Cắt theo mức ( Intensity Level Slicing)

19

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 20: Xử lý ảnh và ứng dụng thư viện AForge.NET

Biến đổi này cho phép phân đoạn một số mức xám từ phần còn lại của

ảnh. Nó có tác dụng khi niều đặc tính khác nhau của ảnh nằm trên miền

mức xám khác nhau.

f(u) =

L a ≤ u ≤ b

0 #.

• Trích chọn bit (Bit Extraction)

Như đã trình bày ở trên, mỗi điểm ảnh thường được mã hoa trên B

bit. Nếu B = 8 ta có ảnh 28 = 256 mức xám ( ảnh nhị phân ừng vời B

=1). Trong các bit mã hóa này, người ta chia làm 2 loại : bit bậc thấp và

bit bậc cao. Với bit bậc cao, độ bảo toàn thông tin cao hơn so với bit bậc

thấp. Các bit bậc thấp thường biểu diễn nhiễu hay nền.

f(u) = (in − 2in−1)L với in = Int[it/2n−1

], n = 1, 2 . . . B.

3.2 Tăng độ tương phản (Stretching Con-

trast)

Trước tiên cần phải làm rõ khái niệm độ tương phản. Ảnh số là tập

hợp các điểm, mỗi điểm có giá trị độ sáng khác nhau. Ở đây, độ sang để

mắt người dễ cảm nhận song không phải là quyết định. Thực tế chỉ ra rằng

hai đối tượng có cùng độ sáng nhưng đặt trên hai nền khác nhau sẽ cho

cẩm nhận sáng khác nhau. Như vậy, đọ tương phản biểu diễn sự thay đổi

độ sáng của đối tướng so với nền. Nói một cách khác, độ tương phản là độ

nổi của một điểm ảnh hay vùng ảnh so với nền. Như vậy, nếu ảnh có độ

tương phản kém, ta có thể thay đổi tùy theo ý muốn.

Ảnh với độ tương phản thấp có thể do điều kiện sáng không đủ hay

không đều, hoặc do tính không tuyến tính hay biến động nhỏ của bộ phận

cảm nhận ảnh. Để điều chính lai độ tương phản của ảnh, cần điều chỉnh

20

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 21: Xử lý ảnh và ứng dụng thư viện AForge.NET

lại biên độ trền toàn dải hay trên dải có giới hạn bằng cách biến đổi tuyến

tính biên độ đầu vào (dùng hàm biến đổi là hàm tuyến tính) hay phi tuyến

(hàm mũ hay hàm logarit). Khi dùng hàm tuyến tính các độ dốc của α,β,γ

phải chọn lớn hơn một miền cần dãn. Các tham số a và b ( các cận) có

thể chọn khi xem xét lược đồ xám của ảnh. Chú ý, nếu dãn độ tương phản

bằng hàm tuyến tính ta có :

α = β = γ = 1 ảnh có kết quả trùng với ảnh gốc.

α, β, γ > 1dãn độ tương phản.

α, β, γ < 1co độ tương phản.

Hình 2.1 Dãn đồ tương phản

Hàm mũ thương được dùng để dãn đồ tương phản. Hàm có dạng

f(u) = (X [m,n])p .

với p là bậc thay đổi. Thường chọn là 2.

3.3 Tăng giảm độ sáng

Giả sử ảnh đầu vào I - kích thước(m× n) và số nguyên c.

Khi đó kỹ thuật tăng, giảm được thực hiện qua thuật toán :

Bước 1: với mỗi điểm ảnh thực hiện cộng mức xám với giá trị.

21

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 22: Xử lý ảnh và ứng dụng thư viện AForge.NET

for (i =0; i < m; i++)

for( (j=0; j < n; j++)

I[i,j] = I[i,j] +c;

Bước 2: Gán giá trị độ xám mới cho điểm ảnh đầu ra.

c > 0 : ảnh sáng lên.

c < 0 : ảnh tối đi.

Để thấy sự thay đổi xem hình ảnh dưới đây tăng độ sáng với c = 100;

.

Hình 2.2 Hình ví dụ về tăng độ sáng

3.4 Cải thiện ảnh dùng toán tử không gian

Cải thiện ảnh là làm cho ảnh có chất lượng tốt hơn theo ý đồ sử dụng.

Thường là ảnh thu nhận có nhiễu cần phải loại bỏ nhiễu hay ảnh không

sắc nét bị mờ hoặc cần làm tõ các chi tiết như đường biên ảnh. Các toán

tử không gian dùng trong kỹ thuật tăng cường ảnh được phân nhóm theo

công dụng: làm trơn nhiễu, nổi biên. Để làm trơn nhiễu hay tách nhiễu,

người ta sử dụng các bộ lọc tuyến tính (lọc trung bình, thông thấp) hay lọc

22

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 23: Xử lý ảnh và ứng dụng thư viện AForge.NET

phi tuyến (trung vị, giả trung vị, lọc đồng hình). Từ bản chất của nhiễu

(thường tương ứng với tần số cao) và từ cơ sở lý thuyết lọc là: bộ lọc chỉ cho

tín hiệu có tần số nào đó thông qua do đó, để lọc nhiễu người ta thường

dùng lọc thôngthấp (theo quan điểm tần số không gian) hay lấy tổ hợp

tuyến tính để san bằng (lọc trung bình). Để làm nổi cạnh (ứng với tần số

cao), người ta dùng các bộ lọc thông cao, lọc Laplace.

Trước khi xem xét chi tiết các kỹ thuật áp dụng, cần phân biệt các

loại nhiễu hay can thiệp trong quá trình xử lý ảnh. Trên thực tế tồn tại

nhiều loại nhiễu; tuy nhiên người ta thường xem xét 3 loại nhiễu chính:

nhiễu cộng, nhiễu nhân và nhiễu xung:

• Nhiễu cộng :

Nhiễu cộng thường được phân bố khắp ảnh. Nếu gọi ảnh quan sát (ảnh

thu nhận) Xqs, ảnh gốc là Xgoc, nhiễu là η ảnh thu được biểu diễn bởi:

Xqs = Xgoc + η.

• Nhiễu nhân :

Nhiễu nhân thường phân bố khắp ảnh và ảnh thu được sẽ được biểu

diễn bởi công thức :

Xqs = Xgoc ∗ η.

• Nhiễu xung :

Nhiễu xung thường gây đột biến tại một số điểm ảnh.

3.4.1 4.1 Làm trơn nhiễu bằng lọc tuyến tính: lọc

trung tính và lọc dải thông thấp

Do có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnh nên cần có

nhiều bộ lọc thích hợp. Với nhiễu cộng và nhiễu nhân ta dùng các bộ lọc

23

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 24: Xử lý ảnh và ứng dụng thư viện AForge.NET

thông thấp, trung bình và lọc đồng hình (Homomorphie); với nhiễu xung

ta dùng lọc trung bị, giả trung vị, lọc ngoài (Outlier).

• Lọc trung bình không gian

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:

v(m,n) =∑k,l∈W

∑a(k, l)y(m− k, n− l).

Nếu trong kỹ thuật lọc trên, ta dùng các trọng số như nhau, phương

trình trên sẽ trở thành:

v(m,n) =1

N

∑k,l∈W

∑a(k, l)y(m− k, n− l).

với:

y(m,n) : ảnh đầu vào,

v(m,n) : ảnh đầu ra,

a(k, l) : là cửa sổ lọc.

ak.l =1N và NW là số điểm ảnh trong cửa sổ lọc W.

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:

H =1

9

1 1 1

1 1 1

1 1 1

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ạ.

24

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 25: Xử lý ảnh và ứng dụng thư viện AForge.NET

Giả sử đầu vào biểu diễn bởi ma trận I:

I =

4 17 3 7 1

5 7 1 7 1

6 6 1 8 3

5 7 5 7 1

5 7 6 1 2

Ảnh số thu được bởi lọc trung bình có dạng Y = H ⊗ I có dạng:

23 26 31 19 16

35 39 46 31 27

36 43 49 34 27

36 48 48 34 22

24 35 33 22 11

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 [m,n] =1

2

[X [m,n] +

1

4{X [m− 1, n] +X [m+ 1, n]X [m,n− 1] +X [m.n+ 1]}

].

Ở đây, nhân chập H có kích thước 2× 2 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.

• Lọc thông thấp

Lọc thông thấp thường được sử dụng để làm trơn nhiễu. Về nguyên lý

của bộ lọc thông thấp giống như đã trình bày ở trên. Trong kỹ thuật này

người ta hay dùng một số nhân chập có dạng như sau:

Ht1 =1

8

0 1 0

1 2 1

0 1 0

25

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 26: Xử lý ảnh và ứng dụng thư viện AForge.NET

Hb =1

(b+ 2)2

1 b 1

b b2 b

1 b 1

Ta dễ dàng nhận thấy khi b = 1,Hb chính là nhân chập Ht1(lọc trung

bình). Để hiểu bản chất khử nhiễu cộng của các bộ lọc này, ta viết lại

phương trình thu nhận ảnhn dưới dạng:

Xqs [m,n] = Xgoc [m,n] + η [m,n] .

Trong đó η [m,n] là nhiễu cộng có phương sai σ2n. Như vậy theo cách

tính lọc trung bình ta có:

Y [m,n] =1

Nw

∑k,l∈W

∑Xqs (m− k, n− l) + η [m,n]

hay:

Y [m,n] =1

Nw

∑∑Xqs (m− k, n− l) +

σ2nNw

.

Như vậy nhiễu cộng trong ảnh đã giảm đi Nwlần.

• Lọc đồng hình (Homomorphie Filter)

Kỹ thuật lọc này hiệu quả với ảnh nhiễu nhân. Thực tế, ảnh quan sát

được gồn ảnh gốc nhân với một hệ số nhiễu. Gọi χ (m,n) là ảnh thu được,

X(m,n) là ảnh gốc và η(m,n) là nhiễu, như vậy:

X(m,n) = χ(m,n) ∗ η(m,n).

. Lọc đồng hình thực hiện lấy logarit của ảnh quan sát. Do vậy ta có

kết quả sau:

log(X(m,n)) = log(χ(m,n)) + log(η(m,n)).

Rõ ràng, nhiễu nhân có trong ảnh sẽ bị giảm. Sau quá trình lọc tuyến

tính, ta chuyển về ảnh cũ bằng phép biến đổi hàm e mũ.

26

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 27: Xử lý ảnh và ứng dụng thư viện AForge.NET

3.4.2 Làm trơn bằng nhiễu lọc phi tuyến

Các bộ lọc phi tuyến cũng hay được dùng trong kỹ thuật tăng cường

ảnh. Trong kỹ thuật này, người ta dùng bộ lọc trung vị, giả trung vị, lọc

ngoài. Với lọc trung vị, điểm ảnh đầu vào sẽ được thay thế bởi trung vị các

điểm ảnh còn lọc giả trung vị sẽ dùng trung bình cộng của 2 giá trị “trung

vị” (trung bình cộng của max và min).

Lọc trung vị

Trung vị được viết bởi công thức:

v(m,n) = trungvi(y(m− k, n− l)) với {k, l} ∈W.

Kỹ thuật này đòi hỏi giá trị các điểm ảnh trong cửa sổ phải xếp theo

thứ tự tăng hay giảm dần so với giá trị trung vị. Kích thước cửa số thường

được chọn sao cho số điểm ảnh trong cửa số là lẻ. Các cửa sổ hay dùng là

cửa sổ có kích thước 3× 3, hay 5× 5 hay 7× 7. Ví dụ:

Nếu y(m) = {2, 3, 8, 4, 2} và cửa sổ W= (−1, 0, 1) ảnh thu được sau

lọc trung vị sẽ là:

v(m) = (2, 3, 4, 4, 2).

do đó:

v[0]= 2<giá trị biên>;

v[1]= Trungvi<2,3,8>=3;

v[2]= Trungvi<3,4,8>=4;

v[3]= Trungvi<8,4,2>=4;

v[4]= 2<giá trị biên>;

Tính chất của lọc trung vị:

• Lọc trung vị là loại lọc phi tuyến. Điều này dẽ nhận thấy từ:

Trungvi(x(m) + y(m))#Trungvi(x(m)) + Trungvi(y(m)).

27

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 28: Xử lý ảnh và ứng dụng thư viện AForge.NET

• Có lợi cho việc loại bỏ các điểm ảnh hay các hàng mà vẫn bảo tòan

độ phân giải.

• Hiệu quả giảm khi số điểm trong cửa sổ lớn hay bằng một nửa số

điểm trong cửa sổ. Điều này dễ giải thích vì trung vị là (Nw + 1) /2

giá trị lớn nhất nế Nw lẻ. Lọc trung vị cho trường hợp 2 chiều coi như

lọc trung vị tách theo từng chi

Lọc ngoài (Outlier Filer)

Giả thiết có ngưỡng nào đó cho các mức nhiễu (có thể dựa vào lược đồ

xám). Tiến hành so sánh giá trị độ xám của một điểm ảnh với trung bình

số học 8 lân cận của nó. Nếu sai lệch lớn hơn ngưỡng, điểm ảnh này được

coi như nhi ễu. Trong trường hợp đó, thay thế giá trị của điểm nh bằng giá

trị trung bình 8 lân cận vừa tính được. Bộ lọc ngoài có thể diễn tả bằng

công thức sau:

Y (m,n) =

α (w) khi|u(m,n)− α(w)

u(m,n) #.

với α(w) là trung bình cộng các điểm trong lân cận w; δ là ngưỡng

ngoài

Các cửa sổ tính toán thường chọn là 3x3. Tuy nhiên, cửa sổ có thể mở

rộng đến 5x5 hay 7x7 để đảm bảo tính tương quan giữa các điểm ảnh. Vấn

đề quan trọng là xác định ngưỡng để loại nhiễu mà vẫn không làm mất

thông tin của ảnh.

28

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 29: Xử lý ảnh và ứng dụng thư viện AForge.NET

3.5 Bài toán về phát hiện biên ảnh

3.5.1 Một số khái niệm

Điểm biên: Một điểm ảnh được coi là điểm biên nếu có sự thay đổi

nhanh hoặc đột ngột về mức xám (hoặc màu). Ví dụ trong ảnh nhị phân,

điểm đen gọi là điểm biên nếu lân cận nó có ít nhất một điểm trắng.

Đường biên (đường bao: boundary): tập hợp các điểm biên liên tiếp tạo

thành một đường biên hay đường bao.

Ý nghĩa của đường biên trong xử lý: ý nghĩa đầu tiên: đường biên là

một loại đặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh. Thứ

hai, người ta sử dụng biên làm phân cách các vùng xám (màu) cách biệt.

Ngược lại, người ta cũng sử dụng các vùng ảnh để tìm đường phân cách.

Tầm quan trọng của biên: để thấy rõ tầm quan trọng của biên, xét ví

dụ sau: khi người họa sỹ muốn vẽ một danh nhân, họ a sỹ chỉ cần vẽ vài

đường nứt tốc họa mà không cần vẽ một cách đầy đủ.

Mô hình biểu diễn đường biên: theo toán học: điểm ảnh có sự biến đổi

mức xám u(x) một cách đột ngột theo hình dưới.

Hình 5.1 Đường bao của ảnh

3.5.2 Phân loại các kỹ thuật phát hiện biên

Từ định nghĩa toán học của biên người ta sử dụng hai phương pháp

phát hiện biên như sau (phương pháp chính) .

29

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 30: Xử lý ảnh và ứng dụng thư viện AForge.NET

a, Phương pháp phát hiện biên trực tiếp: phương pháp này chủ yếu

dựa vào sự biến thiên độ sáng của điểm ảnh để làm nổi biên bằng kỹ thuật

đạo hàm.

• Nếu lấy đạo hàm bậc nhất của ảnh: ta có phương pháp Gradient.

• Nếu lấy đạo hàm bậc hai của ảnh: ta có phương pháp Laplace.

Hai phương pháp này còn được gọi chung là phương pháp dò biên cục

bộ.

Ngoài ra, người ta còn sử dụng phương pháp “đi theo đường bao” dựa

vào công cụ toán học là nguyên lý quy hoạch động và đượng gọi là phương

pháp dò biên tổng thể. Phương pháp dò biên trực tiếp có hiệu quả và ít bị

tác động của nhiễu.

Phương pháp phát hiện biên gián tiếp: Nếu bằng cách nào đấy, chúng

ta thu đượng các vùng ảnh khác nhau thì đường phân cách giữa các vùng

đó chính là biên. Nói cách khác, việc xác định đường bao của ảnh được

thực hiện từ ảnh đã được phân vùng. Phương pháp dò biên gián tiếp khó

cài đặt nhưng áp dụng tốt khi sự biến thiên độ sáng nhỏ.

Chú ý: Kỹ thuật dò biên và phân vùng ảnh là 2 bài toán đối ngẫu

nhau.

3.5.3 Quy trình phát hiện biên

B1: Do ảnh ghi được thường có nhiễu, bước một là phải lọc nhiễu theo

các phương pháp dã tìm hiểu ở các phần trước.

B2: Làm nổi biên sử dụng các toán tử phát hiện biên.

B3: Định vị biên. Chú ý rằng kỹ thuật nổi biên gây tác dụng phụ là

gây nhiễu làm một số biên giả xuất hiện do vậy cần loại bỏ biên giả.

Liên kết và trích chọn biên.

30

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 31: Xử lý ảnh và ứng dụng thư viện AForge.NET

3.5.4 Các phương pháp phát hiện biên

Phương pháp Gradient

Phương pháp Gradient là phương pháp dò biên cục bộ dựa vào cực đại

của đạo hàm. Theo định nghĩ, Gradient là một vector có các thành phần

biểu thị tốc độ thay đổi cỉa điểm ảnh theo hai hướng x và y. Các thành

phần cửa Gradient tính bởi:∂f(x, y)

∂x= f ′x ≈

f(x+ dx, y)− f(x, y)dx

.

∂f(x, y)

∂x= f ′y ≈

f(x, y + dy)− f(x, y)dy

.

Trong đó dx là khoảng cách giữa các điểm theo hướng x (khoảng cách

tính bằng số điểm) và tương tự với dy. Trên thực tế, người ta hay dùng với

dx = dy = 1.

Trong phương pháp Gradient, người ta chia thành 2 kỹ thuật (do dùng

2 toán tử khác nhau): kỹ thuật Grandient và kỹ thuật La Bàn.

• Kỹ thuật Gradient

Từ định nghĩa về Gradient, ta thấy nếu áp dụng nó vào xử lý ảnh, việc

tính toán sẽ rất phức tạp, để đơn giản hóa mà không làm mất tính chất

của phương pháp Gradient người ta sử dụng một cặp mặt nạ H1 và H2

trực giao (theo 2 hướng vuông góc). Nếu định nghĩa g1 và g2 là 2 Grandient

tương ứng theo 2 hướng x và y, thì biên độ g(m,n) tại điểm (m,n) được

tính:

g(m,n) =√g21(m,n) + g22(m,n) = A0.

θr(m,n) = arctan(g2(m,n)).

Để giảm độ phức tạp tính toán, A0 được tính gần đúng như sau:

A0 = |g1(m,n)|+ |g2(m,n)|.

31

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 32: Xử lý ảnh và ứng dụng thư viện AForge.NET

Một số toán tử Gradient tiêu biểu như toán tử Robert, toán tử (mặt

nạ) Sobel, toán tử (mặt nạ) Prewitt, đẳng hướng (Isometric), toán tử 4-lân

cận. . .

Thuật toán dò biên theo kỹ thuật Gradient như sau:

Đầu vào: ma trận ảnh cần tìm biên:

mặt nạ Hx và Hy

Đầu ra: Một ma trận ảnh (chứa các đường biên được tìm thấy).

Giải thuật:

For (mỗi điểm ảnh của ảnh)

if(Nếu điểm ảnh nẳm trên đường viền ảnh)

Gán giá trị các điểm ảnh trên đường viền ảnh = 0(hoặc bằng màu

nền ảnh).

else

{

+ Tính xấp xỉ Gradient theo chiều x (Gx): nhân chập với mặt nạ Hx.

+ Tính xấp xỉ Gradient theo chiều y (Gy): nhân chập với mặt nạ Hy.

+ Tính giá trị điểm ảnh theo công thức xấp xỉ G:

G=|Gx|+ |Gy|

+ Nếu giá trị điểm ảnh lớn hơn chỉ số màu của ảnh thì gán giá trị ảnh

là giá trị màu lớn nhất.

}

• Kỹ thuật La Bàn

Về phương pháp kỹ thuật này cũng tương tự kỹ thuật Gradient. Tuy

nhiên, điểm khác kỹ thuật Gradient chỉ lấy đạo hàm theo 2 hướng, còn kỹ

thuật La Bàn lấy đạo hàm theo 8 hướng. Kirsh đã đề xuất các mặt nạ theo

8 hướng như 8 hướng của la bàn (Compass). Mô hình 8 hướng và được đặt

32

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 33: Xử lý ảnh và ứng dụng thư viện AForge.NET

tên theo hướng địa lý và theo chiều kim đồng hồ: Đông, Đông-Nam, Nam,

Nam-Tây, Tây, Tây-Nam, Tây-Bắc, Bắc, Đông-Bắc; mỗi hướng lệch nhau

45 .

Hình 5.2 Mặt nạ 8 hướng theo Krish

Tóm lại: Các kỹ thuật sử dụng phương pháp Gradient khá tốt khi độ

sáng có tốc độ thay đổi nhanh, khá đơn giản trên cơ sở các mặt nạ theo

các hướng. Nhược điểm của các kỹ thuật Gradient là nhạy cảm với nhiễu

và tạo các biên kép làm chất lượng biên thu được không cao.

Phương pháp Laplace

Để khắc phục hạn chế và nhược điểm của phương pháp Gradient, trong

đó sử dụng đạo hàm riêng bậc nhất người ta nghĩ đến việc sử dụng đạo

hàm riêng bậc hai hay toán tử Laplace. Phương pháp dò biên theo toán

tử Laplace hiệu quả hơn phương pháp toán tử Gradient trong trường hợp

mức xám biến đổi chậm, miền chuyển đổi mức xám có độ trải rộng.

Toán tử Laplace được đĩnh nghĩa như sau:

∇2f =∂2f

∂x2+∂2f

∂y2.

Toán tử Laplace dùng một số kiểu mặt nạ khác nhau nhằm tính gần

đúng đạo hàm riêng bậc hai. Các dạng mặt nạ theo toán tử Laplace bậc

33

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 34: Xử lý ảnh và ứng dụng thư viện AForge.NET

3x3 có thể:

H1=

0 −1 0

−1 4 −10 −1 0

H2 =

−1 −1 −1−1 8 −1−1 −1 −1

H3 =

1 −2 1

−2 5 1

1 −2 1

Ghi chú: Mặt nạ H1còn cải biên bằng việc lấy giá trị ở tâm bằng 8

thay vì giá trị 4. Để thấy rõ việc xấp xỉ đạo hàm riêng bậc hai trong không

gian hai chiều với mặt nạ H1 làm ví dụ, ta có thể tính gần đúng như sau:

∂2f

∂x2= 2f(x, y)− f(x− 1, y)− f(x+ 1, y).

∂2f

∂y2= 2f(x, y)− f(x, y − 1)− f(x, y + 1).

do đó:

∇2f = ∂2f∂x2+

∂2f∂y2 = 4f(x, y)−f(x−1, y)−f(x, y−1)−f(x+1, y)−f(x, y+1).

Thuật toán dò biên theo phương pháp Laplace:

Đầu vào: ma trận ảnh cần tìm biên:

mặt nạ H2

Đầu ra: Một ma trận ảnh (chứa các đường biên được tìm thấy).

Giải thuật

For (mỗi điểm ảnh của ảnh)

if(Nếu điểm ảnh nẳm trên đường viền ảnh)

Gán giá trị các điểm ảnh trên đường viền ảnh =0 (hoặc bằng màu

nền ảnh).

else

{

+ Tính xấp xỉ Laplace G: nhân chập với mặt nạ H2.

+ Nếu giá trị điểm ảnh lớn hơn chỉ số màu của ảnh thì gán giá

trị ảnh là giá trị màu lớn nhất.

}

34

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 35: Xử lý ảnh và ứng dụng thư viện AForge.NET

Tóm lại: Kỹ thuật theo toán tử Laplace tạo đường biên mảnh (có độ

rộng 1 pixel). Nhược điểm của kỹ thuật này rất nhạy với nhiễu, do vậy

đường biên thu được thường kém ổn định.

Ngoài các phương pháp trên, người ta cũng áp dụng một số phương

pháp khác cải tiến như tiếp cận bởi mô hình mặt, cách tiếp cận tối ưu hóa.

Cách tiếp cận theo mô hình mặt dựa vào việc thực hiện xấp xỉ đa thức

trên ảnh gốc hay ảnh đã thực hiện phép lọc Laplace. Cách tiếp cận tối ưu

nhằm xác định một hàm (một bộ lọc), làm giảm phương sai σ2 hoặc giảm

một số điểm cực trị cục bộ.

35

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 36: Xử lý ảnh và ứng dụng thư viện AForge.NET

Chương 4

Giới thiệu về thư viện

Aforge.NET và chương

trình minh họa

• Thư viện AForge.NET

AForge.NET là một thư viện mã nguồn mở mạnh dành của C# thiết

kế cho các nhà phát triển và nhà nghiên cứu trong các lĩnh vực của máy

tính và trí tuệ nhân tạo - xử lý ảnh, mạng nơ-ron, thuật toán di truyền,

logic mờ, robot. . .

Bao gồm các bộ thư viện, các ứng dụng mẫu và tính năng riêng của

từng thư viện:

• AForge.Imaging - thư viện xử lý ảnh và các bộ lọc.

• AForge.Vision - thư viện thị giác máy tính.

• AForge.Neuro - mạng nơ-ron thư viện tính toán.

• AForge.Genetic - thư viện lập trình tiến hóa.

36

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 37: Xử lý ảnh và ứng dụng thư viện AForge.NET

• AForge.Fuzzy - thư viện tính toán mờ .

• AForge.MachineLearning - thư viện máy học tập.

• AForge.Robotics - thư viện cung cấp hỗ trợ của một số bộ dụng

cụ robot.

• AForge.Video - tập hợp các thư viện để xử lý video.

• . . .

37

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 38: Xử lý ảnh và ứng dụng thư viện AForge.NET

• Chương trình minh họa

Trong chương trình ứng dụng minh họa em sử dụng lớp thư viện

AForge.Imaging. Với AForge.Imaging.Filters có chứa bộ sưu tập các giao

diện và các lớp, trong đó cung cấp các bộ lọc xử lý hình ảnh khác nhau.

Các lớp này cho phép làm biến đổi khác nhau của một hình ảnh nguồn, tác

động trực tiếp trên hình ảnh nguồn, cung cấp hình ảnh mới là kết quả của

một phép xử lý ảnh.

Giao diện chính của chương trình.

Hình 4.1 Giao diện chương trình.

Chương trình gồm một số chức năng cơ bản như: zoom ảnh, xoay ảnh,

chuyển ảnh sang ảnh xám, hiển thị Histogram của một ảnh, tùy chỉnh độ

sáng, tùy chỉnh kích thước của một bức ảnh.

38

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 39: Xử lý ảnh và ứng dụng thư viện AForge.NET

Ví dụ, trong chương trình minh họa em có sử dụng bộ lọc GrayscaleBT709

để chuyển từ một ảnh màu sang một ảnh xám. Trong đó bộ lọc này chuyển

ảnh màu sang ảnh xám bằng thuật toán BT709.

Hình 4.2 Hình ảnh về chuyển từ ảnh màu sang ảnh xám

trong chương trình.

39

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 40: Xử lý ảnh và ứng dụng thư viện AForge.NET

Còn ví dụ, xoay ảnh thì em sử dụng bộ lọc RotateBilinear để xoay

ảnh, có thể tùy chọn các góc xoay ảnh ở chương trình này em chọn là xoay

phải 30, 90, 120, 180 độ.

Hình 4.3 Hình ảnh về xoay ảnh trong chương trình.

40

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 41: Xử lý ảnh và ứng dụng thư viện AForge.NET

Còn một số bài toán về dò biên, lọc trung vị, tạo sóng cho ảnh.

Đây là ứng dụng về bài toán dò biên:

Hình 4.4 Hình ảnh về bài toán tìm biên trong chương trình.

41

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 42: Xử lý ảnh và ứng dụng thư viện AForge.NET

Kết luận

Đề tài đã tập trung nghiên cứu về lý thuyết xử lý ảnh số, một số bài

toán cơ bản trong xử lý ảnh và viết một chương trình minh họa về các bài

toán đó.

Đề tài đã hoàn thành mục tiêu và nội dung là nghiên cứu các khái

niệm của xử lý ảnh, các khái niệm về các loại ảnh,. . .Giới thiệu một số bài

toán cơ bản trong xử lý ảnh như nâng cao độ tương phản, độ sáng của ảnh,

lọc nhiễu ảnh, làm nổi đường biên, thay đổi kích thước ảnh. Và sử dụng

ngôn ngữ C# để lập trình một số bài toán cơ bản trong xử lý ảnh.

Trong thời gian làm đồ án với sự cố gắng nỗ lực bản thân, sự giúp đỡ

của giáo viên hướng dẫn là thầy Vũ Thành Nam cho đến nay đồ án đã hoàn

thành đúng nội dung và thời hạn. Tuy vậy, do còn hạn chế về kiến thức và

kinh nghiệm thực tế nên không thể tránh được những thiếu sót. Rất mong

nhận được sự góp ý của thầy cô.

42

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh

Page 43: Xử lý ảnh và ứng dụng thư viện AForge.NET

Tài liệu tham khảo

[1] Lương Mạnh Bá, Nguyễn Thanh Thuỷ, Nhập môn xử lý ảnh số, Nhà

xuất bản, Nhà xuất bản Khoa học và Kỹ thuật, 2003.

[2] Nguyễn Quốc Trung, Xử lý tín hiệu và lọc số, Nhà xuất bản Khoa học

và Kỹ thuật, 2004.

[3] Bhabatosh Chanda, Dwijesh Dutta Mạumder, Digital Imge Processing

and Analysis, Prentice Hall of India, 2001.

[4] Thư viện mã nguồn: http://www.aforgenet.com.

[5] Thư viện mã nguồn: http://www.codeproject.com.

43

ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh