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

Nghiên cứu các kỹ thuật xử lý ảnh phục vụ việc nâng cao chất lượng nhận dạng tiếng việt

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 (3.27 MB, 67 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN

NGUYỄN XUÂN CƯỜNG

NGHIÊN CỨU CÁC KỸ THUẬT XỬ LÝ ẢNH PHỤC VỤ
VIỆC NÂNG CAO CHẤT LƯỢNG NHẬN DẠNG TIẾNG VIỆT

LUẬN VĂN THẠC SĨ

Hà Nội - 2015


ĐẠI HỌC QUỐC GIA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN

NGUYỄN XUÂN CƯỜNG

NGHIÊN CỨU CÁC KỸ THUẬT XỬ LÝ ẢNH PHỤC VỤ
VIỆC NÂNG CAO CHẤT LƯỢNG NHẬN DẠNG TIẾNG VIỆT
Ngành: Công nghệ Thông tin
Chuyên ngành: Quản lý Hệ thống Thông tin
Mã số: Chuyên ngành đào tạo thí điẻm

LUẬN VĂN THẠC SĨ

NGƯỜ I HƯỚNG DẪN KHOA HỌC: Ts. Vũ Duy Linh

Hà Nội – 2015



1

LỜI CAM ĐOAN
Tôi xin cam đoan rằng, đây là kết quả nghiên cứu của tôi trong đó có sự giúp
đỡ rất lớn của thầy hướng dẫn và các đồng nghiệp ở cơ quan. Các nội dung nghiên
cứu và kết quả trong đề tài này hoàn toàn trung thực.
Trong luận văn, tôi có tham khảo đến một số tài liệu của một số tác giả đã liệt
kê tại phần “Tài liệu tham khảo” ở cuối luận văn.

Tác giả luận văn
Nguyễn Xuân Cường


2

LỜI CẢM ƠN
Em xin chân thành cảm ơn đến Viện Công Nghệ thông tin, Đại học Công Nghệ,
Đại học Quốc gia Hà Nội đã tạo điều kiện cho em học tập và thực hiện luận văn
này.
Em xin gửi lời cảm ơn chân thành đến Tiến sĩ Vũ Duy Linh, người đã tận tình
hướng dẫn em trong quá trình làm luận văn này.
Em xin cảm ơn quý Thầy Cô đã nhiệt tình giảng dạy cho chúng em trong
những năm học vừa qua.
Cuối cùng, em xin được gửi lời cảm ơn chân thành đến gia đình cũng như bạn
bè, đồng nghiệp đã luôn ủng hộ, động viên em để em có thể có điều kiện tốt nhất để
học tập và nghiên cứu.

Hà Nội, tháng 6/2015
Nguyễn Xuân Cường – CIO 04
Viện Công nghệ thông tin – Đại học Quốc gia Hà Nội



3

MỤC LỤC
BẢNG KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT ...............................................................................................6
MỞ ĐẦU........................................................................................................................................................7
CHƯƠNG 1 – TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ VIỆN OPENCV ...............................................9
1.1 Giới thiệu về xử lý ảnh .........................................................................................................................9
1.1.1 Phần thu nhận ảnh .......................................................................................................................10
1.1.2 Tiền xử lý ....................................................................................................................................10
1.1.3 Phân đoạn ảnh (phân vùng ảnh) ..................................................................................................11
1.1.4 Biểu diễn và mô tả .......................................................................................................................11
1.1.5 Nhận dạng và nội suy ..................................................................................................................11
1.1.6 Cơ sở tri thức ...............................................................................................................................11
1.2 Những vấn đề cơ bản trong hệ thống xử lý ảnh .................................................................................12
1.2.1 Điểm ảnh .....................................................................................................................................12
1.2.2 Độ phân giải của ảnh ...................................................................................................................13
1.2.3 Mức xám của ảnh ........................................................................................................................13
1.2.4 Định nghĩa ảnh số........................................................................................................................13
1.2.5 Mối liên hệ giữa các điểm ảnh ....................................................................................................14
1.3 Những vấn đề khác trong xử lý ảnh ...................................................................................................14
1.3.1 Biến đổi ảnh ................................................................................................................................14
1.3.2 Nén ảnh .......................................................................................................................................15
1.4 Một số phương pháp biểu diễn ảnh ....................................................................................................15
1.4.1 Mã loạt dài...................................................................................................................................15
1.4.2 Mã xích........................................................................................................................................15
1.4.3 Mã tứ phân ..................................................................................................................................16
1.5 Thư viện OpenCV ..............................................................................................................................16
1.5.1 Tổng quan....................................................................................................................................16

1.5.2 Những điểm đặc trưng .................................................................................................................17
1.5.3 Các tổ chức ..................................................................................................................................19
1.6 ImageMagick......................................................................................................................................19
CHƯƠNG 2 – MỘT SỐ PHƯƠNG PHÁP TIỀN XỬ LÝ NÂNG CAO CHẤT LƯỢNG ẢNH................21
2.1 Cải thiện ảnh sử dụng các toán tử điểm .............................................................................................21
2.1.1 Tăng độ tương phản (Stretching Contrast) ..................................................................................22


4
2.1.2 Tách nhiễu và phân ngưỡng ........................................................................................................23
2.1.3 Biến đổi âm bản (Digital Negative) ............................................................................................24
2.1.4 Cắt theo mức (Intensity Level Slicing) .......................................................................................24
2.1.5 Trích chọn bit (Bit Extraction) ....................................................................................................25
2.1.6 Trừ ảnh ........................................................................................................................................26
2.1.7 Nén dải độ sáng ...........................................................................................................................26
2.1.8 Mô hình hóa và biến đổi lược đồ xám .........................................................................................26
2.2 Cải thiện ảnh dùng toán tử không gian...............................................................................................27
2.2.1 Làm trơn nhiễu bằng lọc tuyến tính: lọc trung bình và lọc dải thông thấp..................................28
2.2.2 Làm trơn nhiễu bằng lọc phi tuyến..............................................................................................30
2.2.3 Mặt lạ gờ sai phân và làm nhẵn ...................................................................................................32
2.2.4 Lọc thông thấp, thông cao và lọc dải thông ................................................................................32
2.2.5 Khuyếch đại và nội suy ...............................................................................................................33
2.2.6 Một số kỹ thuật cải thiện ảnh nhị phân .......................................................................................35
2.3 Khôi phục ảnh ....................................................................................................................................36
2.3.1 Các mô hình quan sát và tạo ảnh .................................................................................................38
2.3.2 Các bộ lọc ....................................................................................................................................40
CHƯƠNG 3 – TRIỂN KHAI CHƯƠNG TRÌNH VÀ KẾT QUẢ ..............................................................43
3.1 Cài đặt và tích hợp thư viện OpenCV vào Microsoft Visual Studio ..................................................43
3.2 Triển khai chương trình ......................................................................................................................45
3.2.1 Xử lý phông nền chứng minh thư................................................................................................45

3.2.2 Xử lý đường kẻ ô trong văn bản ..................................................................................................46
3.2.3 Xử lý tăng DPI cho văn bản ........................................................................................................47
3.3 Mã chương trình .................................................................................................................................48
3.3.1 Đưa ảnh màu về đa mức xám ......................................................................................................48
3.3.2 Tăng độ nét ..................................................................................................................................49
3.3.3 Tăng độ sáng ...............................................................................................................................51
3.3.4 Tăng độ tương phản ....................................................................................................................53
3.3.5 Loại bỏ phông nền .......................................................................................................................54
3.3.6 Loại bỏ nhiễu...............................................................................................................................56
3.3.7 Tăng DPI .....................................................................................................................................58
3.3.8 Xóa đường kẻ ô ...........................................................................................................................59
3.4 Hình ảnh triển khai chương trình .......................................................................................................62


5
CHƯƠNG 4 – KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ...........................................................................64
4.1 Kết luận ..............................................................................................................................................64
4.2 Hướng phát triển ................................................................................................................................64
TÀI LIỆU THAM KHẢO ............................................................................................................................65


6

BẢNG KÝ HIỆU VÀ CÁC CHỮ VIẾT TẮT
Ký hiệu
OCR

Ý nghĩa
Optical Character Recognition
Nhận dạng ký tự bằng quang học


BSD

Berkeley Software Distribution


7

MỞ ĐẦU
Sự cấp thiết của đề tài
Xử lý ảnh là lĩnh vực mà ngày nay được phát triển và ứng dụng rất rộng rãi
trong nhiều lĩnh vực khác nhau nhờ vào sự phát triển ngày càng mạnh mẽ của các
hệ thống máy tính, các thuật toán và công trình nghiên cứu khác nhau của nhiều
nhà khoa học trên thế giới.
Ở Việt Nam, các ứng dụng về xử lý ảnh đã bước đầu được triển khai trên một
số lĩnh vực như lắp đặt hệ thống nhận dạng biển số xe, nhận dạng vân tay, … Môn
học xử lý ảnh ở các trường đại học được xem là môn học bắt buộc ở một số ngành
như công nghệ thông tin, điện tử viễn thông, … Tuy nhiên nhìn một cách tổng quan
thì số lượng các ứng dụng được triển khai trên thực tế vẫn là quá ít, lĩnh vực này sẽ
còn phát triển mạnh mẽ trong tương lai nếu được quan tâm một cách nghiêm túc.
Một trong những ứng dụng phổ biến hiện nay liên quan mật thiết với xử lý ảnh
đó là nhận dạng ký tự quang học – OCR.
Các chương trình hỗ trợ OCR hiện nay có thể nhận dạng được ký với tỷ lệ trên
90% đối với ảnh có chất lượng nét và font chữ thông dụng. Đối với hình ảnh chất
lượng thấp, font chữ đặc biệt, chữ viết tay hoặc có phông nền phức tạp thì kết quả
cho ra không mấy khả quan, hầu như không nhận dạng được.
Với sự phát triển mạnh mẽ của công nghệ, ngày càng có nhiều yêu cầu cao hơn
trong các ứng dụng liên quan đến nhận dạng ký tự quang học, yêu cầu nhận dạng
chính xác hơn, nhanh hơn.
Nội dung của luận văn

Với mục đích như trên luận văn có những nội dung như sau:
- Luận văn tổng hợp lý thuyết về xử lý ảnh – giải pháp nâng cao chất lượng
hình ảnh phục vụ cho nhận dạng, cụ thể ở đây là nhận dạng tiếng Việt.
- Luận văn mô tả một số phương pháp xử lý ảnh. Nền tảng lý thuyết này sẽ
được triển khai thử nghiệm trong luận văn này.


8

- Luận văn đã mô tả từng bước triển khai xử lý ảnh, đưa ra kết quả sau khi xử
lý.
Cấu trúc luận văn
Với mục tiêu xây dựng ứng dụng tiền xử lý ảnh phục vụ cho nhận dạng, luận
văn được chia làm bốn chương:
Chương 1: Tổng quan về tiền xử lý ảnh và thư viện OpenCV
Chương này giới thiệu về các khái niệm trong xử lý ảnh, giới thiệu qua về thư
viện xử lý ảnh OpenCV.
Chương 2: Một số phương pháp tiền xử lý nâng cao chất lượng ảnh
Từ các khái niệm xử lý ảnh được đưa ra ở Chương I, chương này giới thiệu một
số phương pháp tiền xử lý ảnh như: nhị phân hóa, tăng cường độ sáng, tăng cường
độ tương phản, loại bỏ phông nền, khử nhiễu, …
Chương 3: Triển khai chương trình và kết quả
Chương này giới thiệu về chương trình đã được triển khai, các bước thực hiện
và các kết quả của mỗi bước đạt được.
Chương 4: Kết luận và hướng phát triển
Chương này tôi tổng kết lại các kết quả và các đóng góp mà việc thực hiện đề
tài đem lại. Ngoài ra, tôi cũng đề xuất các phương hướng nghiên cứu tiếp theo,
nhằm giúp cho đề tài trở lên hoàn thiện hơn.



9

CHƯƠNG 1 – TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ VIỆN OPENCV
1.1 Giới thiệu về xử lý ảnh
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành
khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó
rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính
chuyên dụng riêng cho nó.
Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm
nay. Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác.
Đầu tiên phải kể đến Xử lý tín hiệu số - một môn học hết sức cơ bản cho xử lý tín
hiệu chung, các khái niệm về tính chập, các biến đổi Fourier, Laplace, các bộ lọc
… Thứ hai, các công cụ như Đại số tuyến tính, Xác xuất, thống kê. Một số kiến
thức cần thiết khác như Trí tuệ nhân tạo, mạng noron nhân tạo cũng được đề cập
đến trong quá trình phân tích và đặc biệt là nhận dạng – OCR.
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng
ả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 từ London đến New York từ những năm 1920. Vấn đề
nâng cao chất lượng ảnh có liên quan tới cân bằng sáng và độ phân giải của ảnh.
Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955. Điều
này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo
điều kiện cho quá trình xử lý ảnh số 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 ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao
gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các phương tiện xử lý,
nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng. Các phương pháp tri
thức nhân tạo như mạng noron nhân tạo, các thuật toán xử lý hiện đại và cải tiến,
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.
Về cơ bản, các bước cần thiết trong xử lý ảnh bao gồm:



10

Đầu tiên ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như
Camera, máy chụp ảnh, scan, …). Trước đây, các tấm ảnh thu được qua máy chụp
hình với phim âm bản, không có tác dụng trong xử lý ảnh. Gần đây, với sự phát
triển của công nghệ, ảnh màu hoặc đen trắng được lấy ra từ Camera, sau đó nó
được chuyển trực triếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo – máy ảnh số,
chụp qua điện thoại … là những ví dụ gần gũi. Mặt khác, ảnh cũng có thể tiếp nhận
từ vệ tinh, có thể quét từ ảnh chụp bằng máy quét ảnh. Hình 1.1 dưới dây mô tả các
bước cơ bản trong xử lý ảnh.

Thu nhận
ảnh

Tiền xử
lý ảnh

Phân
đoạn ảnh

Biểu diễn
và mô tả

Nhận dạng
và nội suy

Cơ sở tri thức

Hình 1.1 Các bước cơ bản trong xử lý ảnh

1.1.1 Phần thu nhận ảnh
Ảnh có thể nhận qua camera màu hoặc đen trắng. Camera thường dùng loại là
loại quét dòng, ảnh tạo ra có dạng hai chiều. Chất lượng một ảnh thu nhận được
phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh).
1.1.2 Tiền xử lý
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.


11

1.1.3 Phân đoạn ảnh (phân vùng ảnh)
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn
phân tích, nhận dạng ảnh. Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong bì
thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên
người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng. Đây là
phần phức tạp và khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ
chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này.
1.1.4 Biểu diễn và mô tả
Đầu ra ảnh sau phân đoạn chưa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn)
cộng với mã liên kết với các vùng lân cận. Việc biến đổi các số liệu này thành dạng
thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính.
1.1.5 Nhận dạng và nội suy
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được bằng
cách so sánh với mẫu chuẩn đã được học (được lưu) từ trước, hoặc phương pháp
khác như invariant – là một phương pháp mới đang được nghiên cứu trong nhận
dạng.
Nội suy là phán đoán theo ý nghĩa trên cơ sở nhận dạng.
1.1.6 Cơ sở tri thức

Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối,
tương phản, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo
nhiễu. Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các
phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước
quy trình tiếp nhận và xử lý ảnh theo cách của con người. Trong các bước xử lý đó,
nhiều khâu hiện nay đã xử lý theo phương pháp trí tuệ con người.


12

Cảnh quan

Thu
ảnh

Nén
ảnh

Truyền
ảnh

Lưu
ảnh

Ảnh được
cải tiến

Trích
chọn
đặc

trưng

Nâng chất
lượng ảnh

Số
hóa

Phân
đoạn

Ảnh
số

Khôi phục
ảnh

Ảnh tương tự
Thu nhận ảnh

Trích
chọn
quan
hệ

Phân
tích
thống
kê –
cấu

trúc

Mô tả và
nội suy

Xử lý ảnh

Nhận dạng – biểu diễn

Hình 1.2 Quá trình xử lý ảnh
1.2Những vấn đề cơ bản trong hệ thống xử lý ảnh
1.2.1 Điểm ảnh
Ảnh gốc (ả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 gọi là
điểm ảnh, hay được gọi tắt là Pixel. Trong ả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ảnh 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.


13

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

Định nghĩa:
Độ phân giải 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 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.
1.2.3 Mức xám của ảnh
Mỗi điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí và độ xám.
Định nghĩa: Mức xám của điểm ảnh là cường độ ánh sáng của nó được gán
bằng giá trị số tại điểm đó.
Các giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256 là mức phổ
dụng vì trong kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: 28 = 256
mức, từ 0 đến 255).
Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức
xám ở các điểm ảnh có thể khác nhau.
Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng, phân biệt tức là dùng 1 bit mô tả, 21
mức xám. Nói cách khác mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1.
Ảnh màu: trong khuôn khổ lý thuyết ba màu (RGB) để tạo nên thế giới màu,
người ta dùng 3 byte mô tả mức màu, khi đó các giá trị màu: 28*3 = 224 ~ 16 triệu
màu.
1.2.4 Định nghĩa ảnh số
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần
với ảnh thật.


14

1.2.5 Mối liên hệ giữa các điểm ảnh
Một ảnh số giả sử được biểu diễn bằng hàm f(x,y). Tập con các điểm ảnh là S,

cặp điểm ảnh có quan hệ với nhau ký hiệu là p, q. Chúng ta có các khái niệm sau:
- Các lân cận của điểm ảnh
- Các mối liên kết điểm ảnh: liên kết 4, 8, liên kết m – liên kết hỗn hợp.
- Khoảng cách giữa các điểm ảnh

Bộ nhớ

Đầu đo

Bộ số hóa

Máy tính số
Bộ hiển thị

Hình 1.3 Các thành phần chính của hệ thống xử lý ảnh
Ảnh mức xám được áp dụng trong nhiều lĩnh vực như sinh vật học hoặc trong
công nghiệp. Thực tế chỉ ra rằng bất kỳ ứng dụng nào trên ảnh, mức xám cũng ứng
dụng được trên ảnh màu. Với lý do đó, hệ thống ban đầu nên chỉ bao gồm các thiết
bị thu nhận và hiển thị ảnh đen trắng.
1.3Những vấn đề khác trong xử lý ảnh
1.3.1 Biến đổi ảnh
Trong xử lý ảnh do số điểm ảnh lớn các tính toán nhiều (độ phức tạp tính toán
cao) đòi hỏi dung lượng bộ nhớ lớn, thời gian tính toán. Các phương pháp khoa học
kinh điển áp dụng cho xử lý ảnh hầu hết khó khả thi. Người ta sử dụng các phép
toán tương đương hoặc biến đổi sang miền xử lý khác để dễ tính toán. Sau khi xử lý
dễ dàng hơn được thực hiện, dùng biến đổi ngược để đưa về miền xác định ban đầu,
các biến đổi thường gặp trong xử lý ảnh gồm:


15


- Biến đổi Fourier, Cosin, Sin
- Biến đổi (mô tả) ảnh bằng tích chập, tích Kronecker
- Các biến đổi khác như KL (Karhumen Loeve), Hadamard
1.3.2 Nén ảnh
Ảnh dù ở dạng nào vẫn chiếm không gian nhớ rất lớn. Khi mô tả ảnh người ta
đã đưa kỹ thuật nén ảnh vào. Các giai đoạn nén ảnh có thể chia ra thế hệ 1, thế hệ 2.
Hiện nay, các chuẩn MPEG được dùng với ảnh đang phát huy hiệu quả.
1.4 Một số phương pháp biểu diễn ảnh
1.4.1 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 bởi một ma trận nhị phân:
u(m,n) =

1 ℎ ( , )
(1.1)
0 ℎá

Với cách biểu diễn trên một vùng ảnh hay ảnh nhị phân được xem như chuỗi 0
hay 1 đan xen. Các chuỗi này được gọi là mạch. Theo 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}.
1.4.2 Mã xích
Phương pháp này 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 vector nối 2 điểm biên liên tục được mã hóa. Khi đó ảnh được
biểu diễn qua điểm ảnh bắt đầu A. Điều này được minh họa trong hình dưới đây:


16


Hình 1.4. Hướng các điểm biên và mã tương ứng:
A11070110764545432
1.4.3 Mã tứ phân
Theo phương pháp này, một vùng ảnh coi như bao kín một hình chữ nhật.
Vùng này được chia làm 4 vùng con (Quadrant). Nếu 1 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ả điểm đen và điểm trắng gọi là vùng không đồng nhất, ta tiếp
tục chia thành 4 vùng con tiếp và kiểm tra tính đồng nhất của các vùng con đó. Quá
trình chia dừng lại khi mỗi vùng con chỉ chứa thuần nhất điểm đen hoặc điểm
trắng. Quá trình đó tạo thành một cây chia theo bốn phần gọi là cây tứ phân. Như
vậy, cây biểu diễn ảnh 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ã 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à tương đối khó khăn.
1.5 Thư viện OpenCV
1.5.1 Tổng quan
OpenCV (Open Source Computer Vision) là một thư viện mã nguồn mở về thị
giác máy với hơn 500 hàm và hơn 2500 các thuật toán đã được tối ưu về xử lý ảnh,
và các vấn đề liên quan tới thị giác máy. OpenCV được thiết kế một cách tối ưu, sử
dụng tối đa sức mạnh của các dòng chip đa lõi … để thực hiện các phép tính toán
trong thời gian thực, nghĩa là tốc độ đáp ứng của nó có thể đủ nhanh cho các ứng
dụng thông thường.
Thư viện OpenCV được viết trên nền tảng C++, C, Python và Java để có thể
chạy được trên nhiều nền tảng khác nhau, nghĩa là có thể chạy trên hệ điều hành
Window, Linux, Mac, iOS, Android. Việc sử dụng thư viện OpenCV tuân theo quy


17


định về sử dụng phần mềm mã nguồn mở BSD, có thể sử dụng thư viện này một
cách miễn phí cho cả mục đích phi thương mại lẫn thương mại.
Trên thế giới hiện nay, ước tính cộng đồng sử dụng OpenCV có khoảng hơn 47
nghìn người và số lượt tải về hơn 9 triệu.
1.5.2 Những điểm đặc trưng
OpenCV có rất nhiều chức năng.
Sau đây là những tóm tắt cơ bản về hệ thống, các chức năng, hàm trong
OpenCV:
- Image and Video I/O
Những giao diện này sẽ giúp đọc được dữ liệu ảnh từ file hoặc trực tiếp từ
video. Cũng có thể tạo các file ảnh hoặc video với giao diện này.
- Thị giác máy và các thuật toán xử lý ảnh (General computer – vision and image –
processing algorithms(mid – and low level APIs))
Sử dụng những giao diện này, có thể thực hành với rất nhiều chuẩn thị giác
máy tính mà không cần phải biết mã nguồn của chúng.
- Module thị giác máy ở cấp độ cao
OpenCV gồm một vài tác dụng ở cấp độ cao. Thêm vào nhận dạng mặt, dò tìm,
theo dõi. Nó bao gồm luồng thị giác (sử dụng camera di động để xác định cấu trúc
3D), kích cỡ camera và âm thanh nổi.
- AI and machine – learning
Các ứng dụng của thị giác máy thường yêu cầu máy phải học (machine
learning) hoặc các hình thức trí tuệ nhân tạo khác. Một vài trong số chúng có sẵn
trong OpenCV.
- Lấy mẫu ảnh và các phép biến đổi


18

Nó thường rất tốt cho quá trình xử lý một nhóm phần tử ảnh như là đơn vị.
OpenCV bao gồm lấy tách ra, lấy ngẫu nhiên, phục chế, xoay ảnh, làm cong ảnh

(warping), thay đổi hiệu ứng của ảnh.
- Cách thức tạo và phân tích ảnh nhị phân
Ảnh nhị phân thường xuyên được sử dụng trong các hệ thống kiểm tra có
khuyết điểm hình dạng hoặc các bộ phận quan trọng. Sự biểu diễn ảnh cũng rất
thuận tiện khi chúng ta biết rõ vật thể cần bắt.
- Cách thức cho tính toán thông tin 3D (method for computin 3D information)
Những hàm này rất có ích khi cần sắp xếp và xác định với một khối lập thể
(with a stereo rig) hoặc với không gian nhìn phức tạp (multiple views) từ một
camera riêng.
- Các phép toán cho xử lý ảnh, thị giác máy và biểu diễn ảnh (image interpretation)
OpenCV sử dụng các phép toán phổ biến như: đại số học, thống kê và hình học.
- Đồ họa
Những giao diện này giúp bạn viết chữ và vẽ trên hình ảnh. Thêm vào đó
những chức năng này sử dụng nhiều trong ghi nhãn và đánh dấu.
- Phương thức GUI
OpenCV bao gồm cửa sổ giao diện của chính bản thân nó. Trong khi đó những
giao diện này được so sánh giới hạn với khả năng có thể thực hiện trong mỗi môi
trường. Chúng cung cấp những môi trường API đa phương tiện và đơn giản để hiển
thị hình ảnh, cho phép người dùng nhập dữ liệu thông qua chuột, bàn phím và điều
khiển quá trình.
- Cấu trúc dữ liệu và giải thuật


19

Với những giao diện này bạn có thể giữ lại, tìm kiếm và lưu các danh mục điều
khiển, các tuyển tập (cũng như các tập lệnh được gọi), đồ họa và sơ đồ nhánh một
cách hiệu quả.
- Khả năng tồn tại lâu dài của dữ liệu (Data persistence)
Những phương pháp này cung cấp các giao diện một cách thuận lợi để lưu trữ

các dạng khác nhau của dữ liệu vào đĩa để có thể khôi phục khi cần thiết.
1.5.3 Các tổ chức
Cấu trúc OpenCV gồm nhiều module.
CXCORE bao gồm các dạng dữ liệu cơ bản rõ ràng. Ví dụ cấu trức dữ liệu về
ảnh, điểm, hình chữ nhật được xác định trong file cxtypes.h. CXCORE chứa các
phép đại số tuyến tính và thống kê, các hàm lưu trữ lâu dài, … và các lỗi thao tác.
Các hàm đồ họa cho việc vẽ ảnh cũng được lưu trữ tại đây.
Những hàm còn lại được đặt trong HighGUI và CVCAM. Cả hai đều nằm ở
thư mục có tên “otherlibs”, sử dụng rất dễ gặp lỗi.
CVCAM là thư viện chứa các hàm truy cập vào video thông qua DirectX trên
môi trường window 32 bit. Tuy nhiên, HighGUI cũng có các giao diện video.
Trong luận văn này sử dụng thư viện OpenCV phiên bản 2.4.9 để xử lý ảnh.
1.6 ImageMagick
ImageMagick là một bộ phần mềm để tạo, chỉnh sửa, soạn thảo hoặc chuyển
đổi hình ảnh bitmap. Nó có thể đọc và ghi hình ảnh trong một loạt các định dạng
(khoảng hơn 100 định dạng) bao gồm DPX, EXR, GIF, JPEG, JPEG-2000, PDF,
PhotoCD, PNG, Postscript, SVG và TIFF. Sử dụng ImageMagick để thay đổi kích
thước, lật, làm gương, xoay, bóp méo, biến dạng và biến đổi hình ảnh, điều chỉnh
màu sắc hình ảnh, áp dụng hiệu ứng đặc biệt khác nhau, hoặc vẽ văn bản, đường,
đa giác, hình elip và đường cong Bézier.


20

Các chức năng của ImageMagick thường được sử dụng từ dòng lệnh hoặc bạn
có thể sử dụng các tính năng từ các chương trình viết bằng ngôn ngữ yêu thích của
bạn. Lựa chọn các giao diện này: G2F (Ada), MagickCore (C), MagickWand (C),
ChMagick (Ch), ImageMagickObject (COM +), Magick ++ (C++), JMagick (Java),
L-Magick (Lisp), Lua, NMagick (Neco / haXe), MagickNet (.Net), PascalMagick
(Pascal), PerlMagick (Perl), MagickWand cho PHP (PHP), imagick (PHP),

PythonMagick (Python), RMagick (Ruby), hoặc TclMagick (Tcl / TK). Với một
giao diện ngôn ngữ sử dụng ImageMagick để sửa đổi hoặc tạo ra hình ảnh động và
Automagically.
ImageMagick được cung cấp như một phần mềm miễn phí hoặc là mã nguồn
để bạn có thể tự do sử dụng.
Một phần nhỏ trong luận văn có sử dụng đến ImageMagick, nội dung này sẽ
được đề cập đến trong phần triển khai chương trình.


21

CHƯƠNG 2 – MỘT SỐ PHƯƠNG PHÁP TIỀN XỬ LÝ NÂNG CAO CHẤT
LƯỢNG ẢNH
2.1 Cải thiện ảnh sử dụng các toán tử điểm
Nâng cao chất lượng là bước cần thiết trong xử lý ảnh nhằm hoàn thiện một số
đặc tính của ảnh. Nâng cao chất lượng ảnh gồm hai công đoạn khác nhau: tăng
cường ảnh và khôi phục ả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, làm trơn ảnh.
- Tăng độ tương phản, điều chỉnh mức xám của ảnh.
- Làm nổi biên ảnh.
Các thuật toán triển khai việc nâng cao chất lượng ảnh hầu hết dựa trên các kỹ
thuật trong miền điểm, không gian và tần số. Toán tử điểm là phép biến đổi đối với
từng điểm ảnh đang xét, không liên quan đến các điểm lân cận khác, trong khi đó,
toán tử không gian sử dụng các điểm lân cận để quy chiếu tới điểm ảnh đang xét.
Một số phép biến đổi có tính toán phức tạp được chuyển sang miền tần số để thực
hiện, kết quả cuối cùng được chuyển trở lại miền không gian nhờ các biến đổi
ngược.
Khái niệm về toán tử điểm
Xử lý điểm ảnh thực chất là biến đổi giá trị của một điểm ảnh dựa vào giá trị

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ệm cận với
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 và
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) tại tọa độ (m,n) sang giá trị
cường độ ánh sáng khác v(m, n) thông qua hàm f(.), tức là:
v(m,n) = f(u(m,n))

(2.1)


22

Nói một cách khác, toán tử điểm là toán tử không bộ nhớ, ở đó mức xác u
thuộc [0, N] được ánh xạ sang một mức xám v thuộc [0, N]: v – f(u). Ứng dụng
chính của các toán tử điểm là biên đổ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ử điểm được giới thiệu cụ thể như sau:
2.1.1 Tăng độ tương phản (Stretching Contrast)

(2.2)

Các cấp độ α ,β ,γ xác định độ tương phản tương đối. L là số mức xám cực đại.
Trước tiên cần 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, độ 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 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 đ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 có độ 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ộ cảm nhận ánh sáng. Để
điều chỉnh lại độ tương phản của ảnh, cần điều chỉnh lại biên độ trên toàn dải hay
trên vùng 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 α ,β ,γ phải chọn lớn hơn một trong 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
α ,β ,γ > 1
α ,β ,γ < 1

ảnh kết quả trung với ảnh gốc
dãn độ tương phản
co độ tương phản

(2.3)


23

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

(2.4)

với p là bậc thay đổi, thường chọn bằng 2.
2.1.2 Tách nhiễu và phân ngưỡng

(2.5)


Trong đó a = b = t gọi là 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 vào
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 ảnh do có nhiễu từ bộ cảm biến và biến đổi của nền ví dụ trường hợp lọc nhiễu
của ảnh vân tay.


×