Tải bản đầy đủ (.pdf) (59 trang)

Nghiên cứu các phép biến đổi ảnh và tìm biên ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.57 MB, 59 trang )

LỜI CẢM ƠN
Em sẽ không hoàn thành luận văn nếu không có sự hướng dẫn và chỉ
bảo của thầy giáo PGS.TS. Lê Huy Thập. Em xin chân thành cảm ơn sự
hướng dẫn của thầy.
Xin chân thành cảm ơn sự giúp đỡ, động viên của tất cả các bạn trong
quá trình thực hiện luận văn.
Là sinh viên lần đầu nghiên cứu khoa học chắc chắn đề tài của em
không tránh khỏi những thiếu sót, vì vậy em rất mong sự đóng góp ý kiến của
các thầy cô giáo và các bạn để đề tài của em được hoàn thiện. Một lần nữa
em xin chân thành cảm ơn công lao dạy dỗ chỉ bảo của thầy, cô giáo. Kính
chúc quý thầy cô giáo mạnh khỏe, tiếp tục đạt được nhiều thắng lợi trong
nghiên cứu khoa học và sự nghiệp trồng người.
Em xin chân thành cảm ơn!
Hà Nội, ngày 05 tháng 05 năm 2012
Sinh viên thực hiện

Nguyễn Quang Hiệu

Trang 1


LỜI CAM ĐOAN
Tên tôi là: Nguyễn Quang Hiệu
Sinh viên lớp: K34CNTT - Trƣờng Đại Học Sƣ Phạm Hà Nội 2
Tôi xin cam đoan:
1. Luận văn tốt nghiệp “Nghiên cứu các phép biến đổi ảnh và tìm biên
ảnh” là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của thầy
giáo PGS.TS. Lê Huy Thập và tham khảo một số tài liệu trên Internet.
2. Luận văn không sao chép từ các tài liệu có sẵn nào.
3. Kết quả nghiên cứu không trùng với các tác giả khác.
Tôi xin chịu trách nhiệm về lời cam đoan này!


Hà nội, ngày 05 tháng 05 năm 2012
Người cam đoan

Nguyễn Quang Hiệu

Trang 2


MỤC LỤC
Nội dung

Trang

LỜI CẢM ƠN .................................................................................................. 1
LỜI CAM ĐOAN ............................................................................................ 2
MỤC LỤC ........................................................................................................ 3
DANH MỤC HÌNH ẢNH ............................................................................... 5
MỞ ĐẦU .......................................................................................................... 6
Chƣơng 1. TỔNG QUAN VỀ XỬ LÝ ẢNH ............................................... 10
1.1. Các giai đoạn của một quá trình xử lý ảnh ................................. 10
1.2. Mô tả ảnh ........................................................................................ 13
1.3. Biểu diễn ảnh .................................................................................. 16
Chƣơng 2. CÁC KỸ THUẬT NÂNG CAO CHẤT LƢỢNG ẢNH ......... 20
2.1. Kỹ thuật tăng giảm độ sáng .......................................................... 20
2.2. Tăng giảm độ tƣơng phản ............................................................. 22
2.3. Tách ngƣỡng ................................................................................... 23
2.4. Phép giãn ảnh đa cấp xám............................................................. 23
2.5. Phép co ảnh đa cấp xám ................................................................ 25
2.6. Đóng, mở mức xám ........................................................................ 25
2.7. Làm trơn theo kiểu Morphology .................................................. 26

2.8. Các tác động ảnh xám cục bộ........................................................ 26
2.9. Các phép biến đổi hình học ........................................................... 29
Chƣơng 3. CÁC MÔ HÌNH MÀU ............................................................... 31
3.1. Học thuyết về mầu .......................................................................... 31
3.2. Mô hình ba mầu ............................................................................. 31
3.3. Các mô hình mầu vật lý ................................................................. 32
3.4. Mô hình mầu theo hƣớng thụ cảm ............................................... 33
Chƣơng 4. CÁC PHƢƠNG PHÁP TÌM BIÊN ẢNH ................................ 35
4.1. Phân loại các kỹ thuật phát hiện biên .......................................... 35

Trang 3


4.1.1. Kỹ thuật phát hiện biên trực tiếp ......................................... 35
4.1.2. Kỹ thuật phát hiện biên gián tiếp ......................................... 35
4.1.3. Quy trình phát hiện biên ....................................................... 36
4.2. Kỹ thuật phát hiện biên Gradient (Sobel) ................................... 36
4.3. Toán tử la bàn Kirsh ...................................................................... 37
4.4. Kỹ thuật phát hiện biên Laplace .................................................. 39
4.5. Tổng quan về thuật toán................................................................ 41
4.5.1. Cơ sở lý thuyết thuật toán ..................................................... 41
4.5.2. Hoạt động của thuật toán ...................................................... 43
Chƣơng 5. XÂY DỰNG ỨNG DỤNG ......................................................... 48
5.1. Phát biểu bài toán........................................................................... 48
5.2. Giao diện đa ngôn ngữ ................................................................... 49
5.3. Xây dựng các chức năng chính ..................................................... 51
5.4. Các form lọc (fillter)....................................................................... 54
5.5. Hiệu ứng ảnh (Displacement center) ............................................ 55
5.6. Biên Ảnh (Edge Detetion ) ............................................................. 56
5.6.1. Kỹ thuật phát hiện biên Gradient ........................................ 56

5.6.2 Toán tử la bàn Kirsh ............................................................... 56
5.6.3 Kỹ thuật phát hiện biên Laplace ........................................... 56
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ................................................... 57
TÀI LIỆU THAM KHẢO ............................................................................ 59

Trang 4


DANH MỤC HÌNH ẢNH
Hình 1.1 Quá trình xử lý ảnh ........................................................................ 11
Hình 1.2: Ví dụ về ảnh xám ........................................................................... 14
Hình 1.3 Ảnh nhị phân có kích thước 8x8 ................................................... 15
Hình 1.4 : Ảnh nhị phân và biểu diễn các mã loạt dài tương ứng ............. 17
Hình 1.5: Hướng các điểm biên và mã tương ứng....................................... 18
Hình 4.1 Biên ảnh với toán tử Sobel ............................................................. 37
Hình 4.2 Biên ảnh với toán tử Kirsh ............................................................. 39
Hình 4.3 Biên ảnh với kỹ thuật Laplace ....................................................... 41
Hình 4.4 Đạo hàm hàm Gauss theo hai hướng (x, y) .................................. 44
Hình 4.5 Hình mô tả các điểm biên lân cận ................................................. 46
Hình 5.1 Form giao diện chính ..................................................................... 51

Trang 5


MỞ ĐẦU
1. Mục đích, lý do chọn đề tài
Trên thế giới đã có rất nhiều công trình nghiên cứu tại nhiều quốc gia từ
năm 1920 đến nay về xử lý ảnh đã góp phần thúc đẩy tiến bộ trong lĩnh vực
này lớn mạnh không ngừng.
Xử lý ảnh là một trong những mảng quan trọng nhất trong kỹ thuật thị

giác máy tính, là tiền đề cho nhiều nghiên cứu thuộc lĩnh vực này. Hai nhiệm
vụ cơ bản của quá trình xử lý ảnh là nâng cao chất lượng hình ảnh và xử lý số
liệu cung cấp cho các quá trình khác trong đó có việc ứng dụng thị giác vào
điều khiển.
Quá trình bắt đầu từ việc thu nhận ảnh nguồn (từ các thiết bị thu nhận
ảnh dạng số hoặc tương tự) gửi đến máy tính. Người lập trình sẽ tác động các
thuật toán tương ứng lên dữ liệu ảnh nhằm thay đổi cấu trúc ảnh phù hợp với
các ứng dụng khác nhau.
Phần lớn con người thu nhận thông tin bằng thị giác, cụ thể đó là các
hình ảnh. Vì vậy xử lý ảnh là vấn đề không thể thiếu và hết sức quan trọng để
thu được hình ảnh tốt hơn, đẹp hơn, nhằm đáp ứng nhu cầu thông tin khác
nhau của người nhận.
Trong xử lý ảnh, việc nhận dạng và phân lớp đối tượng cần trải qua các
quá trình và các thao tác khác nhau. Phát hiện biên là một giai đoạn rất quan
trọng vì các kỹ thuật phân đoạn chủ yếu dựa vào giai đoạn này. Mục đích của
việc dò biên sẽ đánh dấu những điểm trong một số ảnh số mà có sự thay đổi
đột ngột về độ xám, tập hợp nhiều điểm biên tạo nên một đường bao quanh
ảnh (đường biên). Nhờ có đường biên mà chúng ta có thể phân biệt giữa đối
tượng và nền, phân biệt giữa các vùng khác nhau và định vị được đối tượng từ
đó mà nhận dạng đối tượng. Đây là cơ sở quan trọng trong việc ứng dụng
phương pháp này vào thực tiễn của cuộc sống, đặc biệt là trong điều kiện đất

Trang 6


nước ta đang từng bước phát triển và đi lên nên việc nghiên cứu các ứng dụng
vấn đề này cần được quan tâm và phát triển.
Xuất phát từ thực tế đó, luận văn của em lựa chọn đề tài “Nghiên cứu các
phép biến đổi ảnh và tìm biên ảnh” đề tài là hệ thống hoá kiến thức về các
phương pháp phát hiện biên, từ các kỹ thuật biến đổi ảnh, dò biên cài đặt

chương trình để đưa ra các nhận xét, so sánh, đánh giá về các phương pháp
tìm biên ảnh. Qua đó có cái nhìn tổng quát về các phương pháp phát hiện
biên.
2. Nhiệm vụ, yêu cầu
- Nhiệm vụ:
Luận văn phải nêu được những nét cơ bản về việc sử dụng các kỹ thuật
xử lý ảnh và tìm biên ảnh. Xây dựng chương trình ứng dụng nhằm mục đích
mô phỏng quá trình hiển thị biên dựa trên ngôn ngữ Visual C#.
- Yêu cầu:
Do những nhiệm vụ đã nêu trên, luận văn phải thực hiện được những
yêu cầu sau:
+ Nghiên cứu cơ bản về các phép xử lý ảnh như lọc nhiễu, cải
thiện ảnh, khôi phục ảnh để làm nổi một số đặc tính chính của ảnh hay làm
cho ảnh nhận được gần với ảnh gốc, tiếp theo là phát hiện các đặc tính biên
cạnh góc, phân vùng.
+ Nghiên cứu phương pháp nhận dạng biên theo kỹ thuật đạo hàm
bậc nhất Gradient.
+ Nghiên cứu phương pháp nhận dạng biên theo kỹ thuật đạo hàm
bậc hai Laplace.
+ Xây dựng ứng dụng nhận dạng biên với các kỹ thuật khác nhau
dựa trên ngôn ngữ Visual C#.

Trang 7


3. Phƣơng pháp nghiên cứu
a. Phƣơng pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây
dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các
vấn đề của đề tài.

b. Phƣơng pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình phù
hợp với yêu cầu thực tiễn, nội dung xử lý nhanh đáp ứng được yêu cầu ngày
càng cao của người sử dụng.
c. Phƣơng pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được
nghiên cứu và kết quả đạt được qua những phương pháp trên.
4. Đối tƣợng, phạm vi nghiên cứu
a. Đối tƣợng nghiên cứu
Các kĩ thuật xử lý ảnh và tìm biên ảnh.
b. Phạm vi nghiên cứu
Phạm vi luận văn của em dừng lại ở việc nghiên cứu và phát triển một
phần nhỏ ứng dụng trong việc xử lý ảnh và tìm biên ảnh thông qua một số kĩ
thuật phát hiện biên dựa trên phương pháp phát hiện biên trực tiếp.
5. Ý nghĩa thực tiễn của đề tài
Nếu đề tài “Nghiên cứu về các phép biến đổi ảnh và tìm biên ảnh”
được xây dựng trên C# thì sẽ giúp ta rút ngắn thời gian xử lý công việc, thỏa
mãn nhu cầu ngày càng cao của con người, cho kết quả chính xác trong các
kết quả đã thu được.
6. Cấu trúc của khoá luận
Sau một thời gian nghiên cứu, tìm hiểu và được sự giúp đỡ chỉ bảo tận
tình của thầy giáo PGS.TS. Lê Huy Thập, em đã hoàn thành luận văn này.

Trang 8


Ngoài phần mở đầu và kết luận, nội dung chính của khoá luận gồm 5
chương, nội dung cụ thể của các chương như sau:
Chƣơng 1: Tổng quan về xử lý ảnh
Trong chương này trình bày sơ lược về xử lý ảnh, giới thiệu các bước

xử lý trong một hệ thống xử lý ảnh. Một số thành phần cốt tử trong xử lý ảnh,
như điểm ảnh, mức xám, ảnh số, ảnh nhị phân, ảnh đen trắng, ảnh màu, biên
ảnh,...được trình bày như là các khái niệm
Chƣơng 2: Các kỹ thuật nâng cao chất lƣợng ảnh
Nội dung của chương này sẽ đề cập đến một số kỹ thuật nâng cao chất
lượng ảnh bằng các phương pháp như: tăng giảm độ sáng, tương phản, xử lý
màu ảnh, lọc và làm mịn ảnh.
Chƣơng 3: Các mô hình màu
Chương này nói về học thuyết và mô hình các màu được mô tả qua các
thành phần tông màu, độ bão hòa và cường độ màu.
Chƣơng 4: Các phƣơng pháp tìm biên ảnh
Nội dung của chương này sẽ đề cập đến một số kỹ thuật phát hiện biên
bằng toán tử mặt nạ (sobel), toán tử la bàn (kirsh) và kỹ thuật phát hiện biên
laplace.
Chƣơng 5: Xây dựng ứng dụng
Qua việc cài đặt thử nghiệm các phép biến đổi ảnh và tìm biên đã trình
bày trong chương trước, từ các kết quả mô phỏng thực nghiệm khi chạy
chương trình, trong chương trình này đưa ra các kết luận, so sánh các phép
biến đổi ảnh và tìm biên ảnh. Chỉ ra phương pháp biến đổi ảnh và tìm biên
ảnh phù hợp với loại ảnh cần xử lý.

Trang 9


Chƣơng 1. TỔNG QUAN VỀ XỬ LÝ ẢNH
Xử lý ảnh là một trong những mảng quan trọng nhất trong kỹ thuật thị giác
máy tính, là tiền đề cho nhiều nghiên cứu thuộc lĩnh vực này. Hai nhiệm vụ
cơ bản của quá trình xử lý ảnh là nâng cao chất lượng thông tin hình ảnh và
xử lý số liệu cung cấp cho các quá trình khác trong đó có việc ứng dụng thị
giác vào điều khiển.

Đã có rất nhiều công trình nghiên cứu tại nhiều quốc gia từ năm 1920 đến
nay về xử lý ảnh đã góp phần thúc đẩy tiến bộ trong lĩnh vực này lớn mạnh
không ngừng.
Quá trình bắt đầu từ việc thu nhận ảnh nguồn (từ các thiết bị thu nhận ảnh
dạng số hoặc tương tự) gửi đến máy tính. Dữ liệu ảnh được lưu trữ ở định
dạng phù hợp với quá trình xử lý. Người lập trình sẽ tác động các thuật toán
tương ứng lên dữ liệu ảnh nhằm thay đổi cấu trúc ảnh phù hơp với các mục
đích khác nhau.
1.1. Các giai đoạn của một quá trình xử lý ảnh
Con người thu nhận thông tin qua các giác quan trong đó thị giác đóng vai
trò quan trọng nhất. Sự phát triển nhanh của phần cứng máy tính, xử lý ảnh và
đồ hoạ đã phát triển mạnh mẽ và ngày càng có nhiều ứng dụng trong cuộc
sống. Xử lý ảnh đóng một vai trò quan trọng trong tương tác người máy.
Quá trình xử lý nhận dạng ảnh là một quá trình thao tác nhằm biến đổi một
ảnh đầu vào để cho ra một kết quả mong muốn. Kết quả đầu ra của một quá
trình xử lý ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận.

Trang 10


Ảnh tốt hơn
Ảnh đầu vào

Xử lý ảnh
Kết luận
Hình 1.1 Quá trình xử lý ảnh

Như vậy mục tiêu của xử lý ảnh có thể chia làm ba hướng như sau:
- Xử lý ảnh ban đầu để cho ra một ảnh mới tốt hơn theo một mong
muốn của người dùng (ví dụ: ảnh mờ cần được xử lý để rõ hơn).

- Phân tích ảnh để thu được thông tin nào đó giúp cho việc phân loại và
nhận biết ảnh (ví dụ: phân tích ảnh vân tay để trích chọn các đặc trưng vân
tay).
- Từ ảnh đầu vào mà có những nhận xét, kết luận ở mức cao hơn, sâu
hơn (ví dụ: ảnh một tai nạn giao thông phác hoạ hiện trường tai nạn).
1.1.1. Thu nhận ảnh
Đây là bước đầu tiên trong quá trình xử lý ảnh. Để thực hiện điều này, ta
cần có bộ thu ảnh và khả năng số hoá những tín hiệu liên tục được sinh ra bởi
bộ thu ảnh đó. Bộ thu ảnh ở đây có thể là máy chụp ảnh đơn sắc hay màu,
máy quét ảnh, máy quay,.... Trong trường hợp bộ thu ảnh cung cấp chưa phải
là dạng số hoá ta còn phải chuyển đổi hay số hoá ảnh. Quá trình chuyển đổi
ADC (Analog to Digital Converter) để thu nhận dạng số hoá của ảnh. Mặc dù
đây chỉ là công đoạn đầu tiên song kết quả của nó có ảnh hưởng rất nhiều đến
công đoạn kế tiếp.
1.1.2 Xử lí trƣớc
Quá trình xử lí trước thực ra bao gồm nhiều công đoạn nhỏ. Trước hết là
công việc tăng cường ảnh để nâng cao chất lượng ảnh. Do những nguyên

Trang 11


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).
Nhằm các mục đích phục vụ cho các bước tiếp theo.
Những mục đích riêng biệt có thể đặt ra cho quá trình xử lý trước là:
+ Thực hiện điều chỉnh độ chiếu sáng để khắc phục hậu quả của sự
chiếu sáng không đồng đều.
+ Giảm nhỏ thành phần nhiễu.

+ Cải thiện độ tương phản của ảnh màu do khuôn màu không tốt.
+ Hiệu chỉnh độ méo giá trị xám.
+ Loại bỏ tính không đồng thể của ảnh gây nên từ tính không đồng bộ
của lớp nhạy quang của hệ thống thu nhận ảnh.
+ Chuẩn hóa độ lớn, dạng và màu.
+ Điều chỉnh bộ lọc để khuyếch đại các tần số với những thông tin
quan trọng được khuyếch đại và nén đi các tần số khác.
1.1.3 Phân đoạn
Là quá trình phân chia các đối tượng cần khảo sát ra khỏi phần nội dung
còn lại của ảnh, phân tách các đối tượng tiếp giáp nhau và phân tách những
đối tượng riêng biệt thành những đối tượng con. Một phương pháp phân đoạn
ả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).
1.1.4. Tách ra các đặc tính
Dựa trên các thông tin thu nhận được qua quá trình phân đoạn, 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ý. Nhờ các đặc tính có được từ ảnh ta có thể
phân loại các đối tượng khác nhau của ảnh.

Trang 12


1.1.5. Phân loại ảnh
Thực hiện công việc sắp xếp một đối tượng vào một lớp đối tượng cho
trước. Để giải quyết bài toán này thì các đặc tính có ý nghĩa phải được lựa
chọn. Ta tìm thấy các đặc tính có ý nghĩa khi ta phân tích các mẫu được lựa
chọn từ những đối tượng khác nhau.
1.2. Mô tả ảnh
1.2.1. Pixel (Picture Element)

Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng.
Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh. Trong
quá trình số hoá, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông
qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng hoá thành phần
giá trị mà thể về nguyên tắc bằng mắt thường không phân biệt được hai điểm
kề nhau. Trong quá trình này, người ta sử dụng khái niệm Picture element mà
ta quen gọi hay viết là Pixel - phần tử ảnh. Mỗi Pixel bao gồm một cặp tọa độ
chỉ vị trí (x,y) và một mức xám nhất định. Mật độ Pixel trên một ảnh số cho ta
xác định được độ phân giải của ảnh. Ảnh có độ phân giải càng cao thì càng rõ
nét và ngược lại. Ví dụ một ảnh số có độ phân giải là 800 x 600 Pixel nghĩa là
có 800 điểm theo chiều ngang và 600 điểm theo chiều dọc.
1.2.2. Mức xám (Gray Level)
Mức xám của điểm ảnh là kết quả sự biến đổi tương ứng một cường độ
sáng của điểm ảnh đó với một giá trị số (kết quả của quá trình lượng hoá).
Cách mã hoá kinh điển thường dùng 16, 32 hay 64 mức. Mã hoá 256 mức là
phổ dụng nhất do lý do kỹ thuật. Vì 28 = 256 (0, 1, ..., 255), nên với 256 mức
mỗi pixel sẽ được mã hoá bởi 8 bit.
1.2.3. Ảnh số
Ảnh số là một tập hợp các điểm ảnh. Khi được số hoá, nó thường được
biểu diễn bởi bảng hai chiều I(n,m): n dòng và m cột. Ta nói ảnh gồm n x m

Trang 13


pixels. Người ta thường kí hiệu P(x,y) để chỉ một pixel. Tùy theo loại ảnh mà
một pixel có thể lưu trữ trên 1, 4, 8 hay 24 bit.
P(x,y)| x=0..n, y=0..m
Sau đây là ví dụ về một ảnh xám. Bức ảnh được tái hiện bởi 40000 mẫu
sắp xếp trên mảng 2 chiều, 200 cột và 200 dòng. Các mức xám của một Pixel
nằm trong khoảng [0..255]. Với 0 là màu đen, 255 là màu trắng các giá trị

trung gian là màu xám.

Hình 1.2: Ví dụ về ảnh xám
1.2.4. Phân loại ảnh
Ảnh số (Image Digital) được thể hiện trên máy tính dưới các dạng khác
nhau tùy theo giá trị mức xám của từng điểm ảnh cũng như sự mã hóa các
điểm ảnh. Dựa vào sự khác nhau đó mà người ta phân ra thành 3 loại ảnh chủ
yếu đó là: ảnh nhị phân, ảnh xám và ảnh màu.
a) Ảnh nhị phân
Ảnh nhị phân chỉ bao gồm hai mức màu phân biệt: màu đen và màu trắng.

Trang 14


Mức xám của tất cả các điểm ảnh chỉ nhận một trong hai giá trị 0 hoặc 1 (0 là
màu đen và 1 là màu trắng). Với ảnh nhị phân, mỗi Pixel được mã hóa trên
một bit. Sau đây là một ví dụ về ảnh đen trắng với tập hợp 8 x 8 = 64 điểm
ảnh.
1

1

1

1

1

1


1

1

1

1

1

1

1

1

1

1

0

0

0

1

1


0

0

0

0

0

0

1

1

0

0

0

0

0

0

1


1

0

0

0

0

0

0

1

1

0

0

0

0

0

0


1

1

0

0

0

0

0

0

1

1

0

0

0

Hình 1.3 Ảnh nhị phân có kích thước 8x8
b) Ảnh đen trắng
Ứng với cấp xám L bằng 2 là ảnh nhị phân. Còn với L lớn hơn 2, ta có ảnh
đen trắng hay còn gọi là ảnh đa cấp xám. Ảnh xám là ảnh mà giá trị xám của

tất cả các điểm ảnh nằm trong khoảng từ [0..255]. Vì 28 = 256, nên với 256
mức mỗi Pixel được mã hóa bởi 8 bit (1 byte). Ví dụ: Ảnh 512 x 512 cần ít
nhất không gian lưu trữ là 512 x 512 Bytes hay 256 Kbytes.
c) Ảnh màu
Thông tin con người thu nhận bằng hình ảnh đều bắt nguồn từ thị giác. Mắt
người có thể phân biệt được rõ nét nhất 3 màu là: Đỏ (Red - R), lục (Green G), lam (Blue - B).
Ảnh màu nói chung là ảnh tổ hợp từ 3 màu cơ bản: đỏ (R), lục (G), lam (B)
và thường thu nhận trên các giả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à mỗi Pixel ảnh gồm 3 thành
phần màu P=[red,green,blue]. Mỗi Pixel cần được biểu diễn bằng 3 bytes.
Mỗi màu cũng phân thành L cấp khác nhau (L thường là 256). Do vậy, để lưu
trữ ảnh màu, người ta có thể lưu trữ từng mặt màu riêng biệt, mỗi màu lưu trữ

Trang 15


như một ảnh đa cấp xám. Do đó không gian nhớ dành cho một ảnh màu lớn
gấp 3 lần một ảnh đa cấp xám cùng kích thước.
1.3. Biểu diễn ảnh
1.3.1. Biểu diễn ảnh trong máy tính
Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh
là pixel. Nhìn chung có thể xem một hàm hai biến chứa các thông tin như biểu
diễn của một ảnh. Các mô hình biểu diễn ảnh cho ta một mô tả lôgic hay định
lượng các tính chất của hàm này. Trong biểu diễn ảnh cần chú ý đến tính
trung thực của ảnh hoặc các tiêu chuẩn “thông minh” để đo chất lượng ảnh
hoặc tính hiệu quả của các kỹ thuật xử lý.
Ta cần xem xét ảnh sẽ được biểu diễn ra sao trong bộ nhớ máy tính. Nếu
lưu trữ trực tiếp ảnh thô theo kiểu bản đồ ảnh, dung lượng sẽ khá lớn, tốn kém
mà nhiều khi không hiệu quả theo quan điểm ứng dụng. Thường người ta
không biểu diễn toàn bộ ảnh thô mà tập trung đặc tả các đặc trưng của ảnh

như: biên ảnh (Boundary) hay các vùng ảnh (Region).. Dưới đây giới thiệu
một số phương pháp biểu diễn. Thường người ta dùng:
- Biểu diễn mã loạt dài (Run - Length Code).
- Biểu diễn mã tứ phân (Quad Tree Code).
- Biểu diễn mã xích (Chaine Code).
- Ngoài ra cũng dùng mô hình thống kê .
a) Mã loạt dài
Phương pháp này hay dùng biểu diễn cho vùng ảnh hay ảnh nhị phân. Một
vùng ảnh R có thể biểu diễn đơn giản nhờ một ma trận nhị phân:
u(m,n) =

1 nếu (m,n)  R
0 nếu ngược lại

Với cách biểu diễn trên, một vùng ảnh hay ảnh nhị phân được xem như
gồm các chuỗi 0 hay 1 đan xen. Các chuỗi này gọi là một mạch (run). Theo

Trang 16


phương pháp này, mỗi mạch sẽ được biểu diễn bởi địa chỉ bắt đầu của mạch
và chiều dài mạch theo dạng: (<hàng,cột>, chiều dài).
0

1

2

3


4

0

ảnh được biểu diễn

1

(1,1) 1, (1,3) 2

2

(2,0) 4, (3,1) 2

Hình 1.4 : Ảnh nhị phân và biểu diễn các mã loạt dài tương ứng
b) Mã tứ phân
Theo phương pháp mã tứ phân, một vùng của coi như bao kín bởi một một
hình chữ nhật. Vùng này được chia làm 4 vùng con (quadrant). Nếu một 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ý hiệu b: (black), w:
(white) và g: (grey) kèm theo ký hiệu mã hoá 4 vùng con. Biểu diễn theo
phương pháp này ưu việt hơ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ó.
c) Mã xích
Mã xích thường được dùng để biểu diễn biên của ảnh. Thay vì lưu trữ toàn
bộ ảnh, người ta lưu trữ dãy các điểm ảnh như A, B,..., M. Theo phương pháp
này, 8 hướng của véctơ nối 2 điểm biên liên tục được mã hoá. Khi đó ảnh

được biểu diễn qua điểm ảnh bắt đầu A cùng với chuỗi các từ mã. Điều này
được minh hoạ trong hình dưới đây.

Trang 17


A 111 110 000 001 000 110 101 110 101 010 100 010
Hình 1.5: Hướng các điểm biên và mã tương ứng
1.3.2 Các loại tệp cơ bản trong xử lý ảnh
Ảnh thu được sau quá trình số hóa thường được lưu lại phục vụ cho các
quá trình tiếp theo. 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.
- Ảnh định dạng BITMAP
- Ảnh định dạng IMG
- Ảnh định dạng PCX
- Ảnh định dạng GIF
- Ảnh định dạng JPEG
Tuy định dạng khác nhau nhưng chúng đều tuân theo một cấu trúc chung
nhất. Nhìn chung một tệp ảnh bất kỳ thường gồm ba phần:
a) Phần đầu (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…
b) Dữ liệu nén (Data Compression): Số liệu ảnh được mã hóa bởi kiểu mã
đã được Header chỉ ra.

Trang 18


c) Bảng màu (Palette Color): Bảng màu không nhất thiết phải có ví dụ khi
là ảnh đ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.


Trang 19


Chƣơng 2.
CÁC KỸ THUẬT NÂNG CAO CHẤT LƢỢNG ẢNH
Ta nhận thấy một ảnh màu thông thường là ảnh bao gồm ba màu chính:
Red – Green – Blue sẽ bao gồm 3 ảnh xám: Red, Green và Blue. Như vậy
để xử lý ảnh mầu ta phải xử lý trên 3 ảnh xám Red, Green, Blue của nó và kết
hợp lại sẽ có kết quả như mong muốn.
2.1. Kỹ thuật tăng giảm độ sáng
Tăng cường độ sáng (Brightness) của một ảnh có thể được hiểu như sự
phát sáng toàn bộ ảnh. Hay nói một cách cụ thể đó là sự phát sáng toàn bộ của
mọi Pixel trong ảnh đó.
Đây là một kỹ thuật khá đơn giản: để tăng thêm độ sáng, tất cả các Pixel
của ảnh cần được cộng thêm giá trị điều chỉnh vào mọi kênh màu RGB. Tuy
kỹ thuật này đơn giản nhưng nó đem lại hiệu quả khá cao và rất hay được sử
dụng trong lĩnh vực xử lý ảnh. Nó giúp ích rất nhiều trong các ngành như y
học, địa lý, quân sự,... trong việc phân tích và nhận dạng.
Ở đây điều chỉnh Brightness không chỉ được sử dụng để làm sáng lên
những ảnh tối mà còn được sử dụng để làm tối đi các ảnh sáng. Một ảnh sáng
hoàn toàn đơn giản là tất cả các Pixel đều màu trắng trong khi một ảnh tối tất
cả các Pixel đều màu tối. Sự khác nhau duy nhất trong làm tối một ảnh là trừ
đi giá trị điều chỉnh vào mỗi kênh màu R - G - B của ảnh.
Đối với mỗi kênh màu, chúng chỉ nhận các giá trị [0, 255]. Chính vì thế khi
tăng cường hay giảm độ sáng của một ảnh ta phải chú ý đến ngưỡng của các
kênh. Điều đó có nghĩa là với mỗi kênh màu của một Pixel nếu nhỏ hơn 0 thì
ta phải gán bằng 0 và nếu lớn hơn 255 thì ta phải gán bằng 255.
Biểu thức cho kỹ thuật Brightness có dạng:
g(x,y) = f(x,y) + b

Trong đó b là hằng số cộng thêm vào giá trị màu f(x,y). Độ sáng của ảnh

Trang 20


tăng nếu b > 0, và giảm bớt nếu b < 0.
Thuật toán chung được miêu tả bằng :
If (Brightness = True) Then // Tăng độ sáng
NewValue = OldValue + Adjustment;
Else NewValue = OldValue - Adjustment; // Giảm độ sáng
If (NewValue < ValueMin) Then NewValue = ValueMin;
If (NewValue > ValueMax) Then NewValue = ValueMax;
Để cho thuật giả này nhanh hơn, chúng ta phân ra hai mức làm sáng
(Lightening) và làm tối (Darkening). Việc phân ra làm hai mức là có hai lý
do. Thứ nhất là khi làm sáng ảnh thì không phải kiểm tra nếu giá trị màu dưới
0 và khi làm tối ảnh cũng không phải kiểm tra nếu giá trị màu trên 255. Lý do
thứ hai quan trọng hơn. Đó là một Byte chỉ giữ những giá trị giữa 0 và 255.
Mà phạm vi điều chỉnh màu lại nằm trong [-255, 255]. Điều đó có nghĩa là
nếu chúng ta không phân ra làm hai mức thì giá trị điều chỉnh màu phải là Int
và khi đó việc xử lý tốn thêm thời gian sau mỗi vòng lặp.
Thuật toán trên có thể được cải tiến như sau:
If (Brightness = True) Then
NewValue = OldValue + Adjustment;
If (NewValue > 255) Then NewValue = 255;
Else // Brightness=False
NewValue = OldValue - Adjustment;
If (NewValue < 0) Then NewValue = 0;
Với biến điều chỉnh màu Adjustment được khai báo kiểu Byte.

Trang 21



(a)

(b)

(c)

Hình 2.1: Ảnh gốc (a); ảnh đã giảm độ sáng (b);
ảnh đã được tăng cường độ sáng (c).
Ta nhận thấy rằng những điểm đã sáng trắng trong ảnh gốc không được
làm sáng hơn và các điểm đã tối đen trong ảnh gốc cũng không được làm tối
hơn.
2.2. Tăng giảm độ tƣơng phản
Độ tương phản (Contrast) thể hiện sự thay đổi cường độ sáng của đối tượng
so với nền, hay nói cách khác, độ tương phản là độ nổi của điểm ảnh hay
vùng ảnh so với nền.
Ảnh số là tập hợp các điểm, mà mỗi điểm có giá trị độ sáng khác nhau. Ở
đây, độ sáng để mắt người dễ cảm nhận ảnh 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 khác nhau. Vì vậy ta có thể thay đổi độ tương phản của
ảnh sao cho phù hợp.
Việc làm tăng độ tương phản rất hữu ích khi tiến hành xử lý trước theo
phương pháp phân ngưỡng. Bằng việc làm tăng độ tương phản, sự khác nhau
của giá trị nền và đối tượng, độ dốc của cạnh đối tượng được tăng lên. Do đó
sau khi làm tăng độ tương phản ta có thể tìm các giá trị màu thích hợp với
một vùng sáng hơn.
Trong một ảnh có độ tương phản cao, có thể xác định được các viền rõ ràng
và chi tiết khác nhau của ảnh đó được nổi bật. Còn trong một ảnh có độ tương
phản thấp, tất cả các màu đều gần như nhau gây khó khăn cho việc xác định


Trang 22


các chi tiết của ảnh. Biểu thức cho kỹ thuật Contrast có dạng:
g(x,y) = af(x,y)
Trong đó a là hằng số nhân vào giá trị màu tại f(x,y). Độ sáng của ảnh tăng
nếu a > 1, và giảm bớt nếu a < 1.
Thuật toán được miêu tả như sau :
NewValue=OldValue/255; // Biến đổi đến một phần trăm
NewValue=NewValue - 0.5;
NewValue=NewValue*ContrastValue; //ContrastValue thuộc [-1,1]
NewValue=NewValue + 0.5;
NewValue=NewValue*255;
If (NewValue > 255) Then NewValue = 255;
If (NewValue < 0) Then NewValue = 0;
Biểu thức Brightness và Contrast có thể được kết hợp lại để có được biểu thức
sau:
g(x,y) = af(x,y) + b

(*)

Từ biểu thức (*) có thể điều chỉnh cả giá trị Brightness và Contrast.
2.3. Tách ngƣỡng
Ta chọn hai mức Thấp - Min, Cao - Max và giá trị ngưỡng λ, khi đó giá trị
các pixel được định nghĩa lại như sau:
+ Inew(x, y) = Max nếu I(x, y) >= λ
+ Inew(x, y) = Min nếu I(x, y) < λ
2.4. Phép giãn ảnh đa cấp xám
2.4.1. Định nghĩa

Với ảnh đa cấp xám IMxN, THxK là mẫu. Gọi R là ảnh kết quả của của phép
giãn ảnh I bởi mẫu T. Khi đó R có kích thước (M+H-1, N+K-1).

2

2 2

Trang 23

1 2


2.4.2. Thuật toán
Ví dụ: Cho ảnh I và
I

2

4 2

2

2 2

3 4
mẫu T như sau:

T

B1: Thêm các Pixel có mức xám = 0 vào xung quanh biên I sao cho kích

thước của ảnh là (M+2*H-2)x(N+2*K-2).
0 0 0 0 0
2 2 2

0 2 2 2 0

2 4 2

0 2 4 2 0

2 2 2

0 2 2 2 0
0 0 0 0 0

B2: Quay mẫu T đi 180o được

1

2

4 3

1 2 3

8 7 6

3

4


2 1

4 0 5

5 0 4

T’

6 7 8

3 2 1

T

T’

B3: Dịch chuyển mẫu T’ trên ảnh I theo trật tự từ trên xuống dưới, từ trái
sang phải sao cho pham vi mẫu của T’ nằm trong ảnh I. Ở mỗi lần dịch
chuyển, pixel ảnh kết quả tương ứng có mức xám bằng giá trị lớn nhất của
tổng các cặp pixel của mẫu T’ và ảnh I tương ứng. Kết quả thu được có thể
giảm đi cùng một giá trị xám thích hợp.
0 0 0 0 0

4 4 4 4

2 2 2 2

0 2 2 2 0


4 6 6 6

2 4 4 4

0 2 4 2 0

4 6 8 8

2 4 6 6

0 2 2 2 0

4 6 8 8

2 4 6 6

0 0 0 0 0

Trang 24


2.5. Phép co ảnh đa cấp xám
2.5.1. Định nghĩa
Với ảnh đa cấp xám IMxN, THxK là mẫu. Gọi R là ảnh kết quả của của phép co
ảnh I bởi mẫu T. Khi đó R có kích thước (M+1-H, N+1-K).
2.5.2. Thuật toán
B1: Dịch chuyển mẫu T trên ảnh I theo trật tự từ trên xuống dưới và từ
trái sang phải sao cho mẫu T nằm trong ảnh I. Ở mỗi lần dịch chuyển, pixel
ảnh kết quả tương ứng có mức xám bằng giá trị nhỏ nhất của hiệu cặp giá trị
pixel ảnh I và mẫu T.

B2: Lặp lại B1 cho đến hết ảnh I.
B3: Mức xám pixel ảnh có kết quả âm, có 2 cách khắc phục:
+ Đặt các giá trị âm thành 0.
+ Biến đổi tổng thể mức xám: tìm giá trị xám nhỏ nhất p trong ảnh và
cộng tất cả các giá trị xám lên p để mức chênh lệch giữa các pixel là không
đổi.
Ví dụ: Cho ảnh I6x6 và mẫu T sau

2 2 2 2 2 2

1 1

1 1 1 1 1

2 4 4 4 4 2

1 1

1 3 3 3 1

2 4 8 8 4 2

Mẫu T

1 3 7 3 1

2 4 8 8 4 2

1 3 3 3 1


2 4 4 4 4 2

1 1 1 1 1

2 2 2 2 2 2

Ảnh kết quả

Ảnh I6x6
2.6. Đóng, mở mức xám
- Mở mức xám: Open(I)=D(E(I)) theo T
- Đóng mức xám: Close(I)=E(D(I)) theo T

Trang 25


×