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
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
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
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.
Sv: Trần Tuấn Vinh
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
1. Như vậy thì mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi
1 bit.
(p).
8
ĐỒ ÁN 3: Xử lý ảnh
Sv: Trần Tuấn Vinh
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 N
4
(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 N
8
(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 N
4
(p)hoặc q thuộc N
D
(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ệ
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
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
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
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
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
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
Ả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
αu α ≤ u < a
β(u − a) + v
a
a ≤ u < b
γ(u − b) + v
b
β ≤ 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) =
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) = (i
n
− 2i
n−1
)L với i
n
= Int
it/2
n−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
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
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) X
qs
, ảnh gốc là X
goc
, nhiễu là η ảnh thu được biểu diễn bởi:
X
qs
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.
a
k.l
=
1
N
và N
W
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
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
0 1 0
1 2 1
0 1 0
25
ĐỒ ÁN 3: Xử lý ảnh
Sv: Trần Tuấn Vinh