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

Tách và nhận dạng số viết tay trong phiếu nhập dữ liệu

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.47 MB, 94 trang )

i

MỤC LỤC

MỤC LỤC i
MỘT SỐ THUẬT NGỮ ANH-VIỆT iii
DANH MỤC HÌNH VẼ iv
DANH MỤC BẢNG vi
MỞ ĐẦU 1
1.1 Đặt vấn đề 1
1.2 Nội dung và cấu trúc của khóa luận 3
Mở đầu 3
Chương 1: Đề xuất giải pháp tiền xử lý ảnh 4
Chương 2: Đề xuất giải pháp phân vùng và nhận dạng ảnh 4
Chương 3: Xây dựng hệ thống tích hợp 5
Chương 4: Thực nghiệm 5
Kết luận 5
CHƢƠNG 1 – ĐỀ XUẤT GIẢI PHÁP TIỀN XỬ LÝ ẢNH 6
1.1 Lọc nhiễu và nhị phân hoá. 6
Mô tả thuật toán 6
1.2 Xác định góc nghiêng của ảnh 11
1.2.1 Phương pháp xác định góc nghiêng dựa trên phép chiếu. 13
1.2.2 Phương pháp xác định góc nghiêng dựa trên các block. 18
CHƢƠNG 2 – ĐỀ XUẤT GIẢI PHÁP PHÂN VÙNG VÀ NHẬN DẠNG ẢNH . 21
2.1 Tách vùng nhập dữ liệu trên ảnh 21
2.1.1 Đặc trưng bài toán 21
2.1.2 Xác định vùng nhập liệu dựa trên các mốc quy chiếu 22
2.1.3 Xác định vùng dựa vào vị trí tương đối đến các các mốc quy chiếu trên form
23
2.1.4 Xác định vùng nhận dạng dựa trên vị trí tương đối đến các đường thẳng 29
2.2 Nhận dạng vùng nhập liệu 42


2.2.1 Nhận dạng vùng đánh dấu 43
2.2.2 Nhận dạng vùng nhập liệu dạng số 48
CHƢƠNG 3 - XÂY DỰNG HỆ THỐNG TÍCH HỢP 55
3.1 Phân tích bài toán 55
3.2 Xây dựng hệ thống 62
3.2.1 Xác định các đối tượng 62
3.2.2 Mô hình khái niệm 63
3.2.3 Biểu đồ các quy trình thiết kế, nhận dạng 67
CHƢƠNG 4 – THỰC NGHIỆM 72
4.1 Môi trường thực nghiệm 72
ii

4.2 Thực nghiệm về Lọc nhiễu, tách nền và tìm ngưỡng nhị phân hóa. 72
4.3 Thực nghiệm về xác định góc nghiêng của ảnh dựa trên phép chiếu 73
4.4 Thực nghiệm về xác định góc nghiêng của ảnh dựa trên block 75
4.5 Thực nghiệm về phân vùng ảnh dựa trên block 76
4.6 Thực nghiệm về phân vùng ảnh dựa trên đường thẳng 77
4.6.1 Thực nghiệm 1: Xác định các đường thẳng 77
4.6.2 Thực nghiệm 2: Tìm cặp các đường thẳng giữa ảnh scan với ảnh mẫu. 78
4.6.3 Thực nghiệm 3: Xác định các vùng cần nhận dạng 78
4.6.4 Thực nghiệm 4: tìm kích thước trung bình trên ảnh 79
4.7 Thực nghiệm nhận dạng 80
4.7.1 Thực nghiệm nhận dạng ô đánh dấu 80
4.7.2 Thực nghiệm nhận dạng số 81
4.8 Thực nghiệm tích hợp các thành phần 81
KẾT LUẬN 83
TÀI LIỆU THAM KHẢO 85

iii


MỘT SỐ THUẬT NGỮ ANH-VIỆT

Thuật ngữ
Giải nghĩa
Black run
Tập hợp các điểm đen liên tiếp kề nhau theo
chiều thẳng đứng hoặc theo chiều ngang trên
ảnh
Block
Một hoặc một cụm các đối tượng được coi là
liền kề nhau
Bounding Box
Hình hộp bao quanh một đối tượng hay một
khối các đối tượng
Deskew
Khử nghiêng
DPI
Dots per inch – Số lượng các điểm trên một
inch
Form Recognition
Nhận dạng form
Object
Là một tập hợp các điểm đen liền kề nhau để
tạo nên một đối tượng như chữ cái, đường
thẳng, điểm, …
Region Extraction
Tách vùng
Resolution
Độ phân giải
Skewed Image

Ảnh bị nghiêng
iv

DANH MỤC HÌNH VẼ

Hình 1-1: Lƣợc đồ mức xám của ảnh 7
Hình 1-2: Đồ thị biến đổi mức xám 8
Hình 1-3: Ảnh trƣớc (a) và sau biến đổi lần 1 (b) 9
Hình 1-4: (a) Ảnh scan; (b) Ảnh sau lần lọc thứ nhất; (c) Ảnh sau lần lọc cuối cùng; (d)
Ảnh sau khi nhị phân hóa 11
Hình 1-5: (a) ảnh sau khi khử nhiễu và tách nền; (b) ảnh sau khi khử nghiêng 12
Hình 1-6: (a)ảnh với góc nghiêng bằng không; (b) đồ thị của phép chiếu ngang trên ảnh
(a) 13
Hình 1-7: (a) ảnh với góc nghiêng 5
0
; (b) đồ thị của phép chiếu ngang trên ảnh (a) 13
Hình 1-8: (a) Ảnh scan, các đƣờng màu đỏ là các đƣờng chiếu ở góc nghiêng θ. (b) Ảnh
đƣợc xấp xỉ bởi các hình bình hành 15
Hình 1-9: (a) Ảnh scan. (b) (c) (d) Ảnh các đƣờng chiếu đen và trắng ở các góc nghiêng -
2.5, -3.5, 2 15
Hình 1-10: (a) Ảnh scan. (b) Ảnh sau khi chính xác góc nghiêng 17
Hình 1-11: Một phần ảnh mẫu với các block ở lề phải 18
Hình 1-12: block trong mẫu và block bị nghiêng trong ảnh scan 19
Hình 1-13: (a) ảnh scan bị nghiêng; (b) các đối tƣợng tìm đƣợc trên ảnh; (c) sau khi loại
các đối tƣợng quá lớn, bé; (d) sau khi loại các đối tƣợng rỗng; (e) sau khi loại các
đối tƣợng không sát lề; (f) xấp xỉ đƣờng thẳng qua các block 20
Hình 2-1: form mẫu và các vùng nhập dữ liệu đƣợc định nghĩa 21
Hình 2-2: Form sau khi đƣợc in ra, điền thông tin và scan vào máy tính 22
Hình 2-3: (a) ảnh gốc; (b) ảnh scan sau khi tiền xử lý 23
Hình 2-4: Nội suy block bị mất 25

Hình 2-5: Khoảng cách các block trong mẫu và trong ảnh scan 25
Hình 2-6: Tƣơng ứng các mốc quy chiếu trong ảnh scan và trong mẫu 26
Hình 2-7: Mốc quy chiếu gần nhất đến các vùng nhập liệu 27
Hình 2-8: Vùng tìm kiếm đƣợc xác định trên ảnh 27
Hình 2-9: Vùng nhập liệu đƣợc sử dụng làm mốc quy chiếu 28
Hình 2-10: Cập nhật khoảng cách đến mốc quy chiếu gần nhất 28
Hình 2-11: (a)ảnh sau khi tiền xử lý; (b)ảnh sau khi lọc các black run ngắn theo chiều
ngang (c) ảnh sau khi hợp cách black run dài theo chiều ngang; (d) ảnh sau khi lọc
các black run ngắn theo chiều thẳng đứng (e)ảnh sau khi hợp các black run dài
theo chiều thẳng đứng (f)các đƣờng thẳng xác định đƣợc trên ảnh 30
Hình 2-12: (a) đƣờng thẳng mờ và bị đứt doạn (b) đƣờng thẳng xác định đƣợc khi tính
đến mật độ 31
Hình 2-13: xác định nhầm đƣờng thẳng do phân bố không đều trên đƣờng 31
Hình 2-14: chia đƣờng thẳng thành các đoạn ngắn rồi tính mật độ trên các đoạn này 32
Hình 2-15: Ảnh cần xác định kích thƣớc font chữ trung bình 36
Hình 2-16: Hình chữ nhật bao các đối tƣợng tìm đƣợc trên ảnh 36
Hình 2-17: Hình chữ nhật bao quanh các đối tƣợng chữ tìm đƣợc trên ảnh 36
Hình 2-18: Đối tƣợng tạo bởi các black run 37
v

Hình 2-19: gán nhãn các đối tƣợng trên ảnh nhị phân 38
Hình 2-20: ảnh sau khi giảm bớt các điểm đen 39
Hình 2-21: Kết quả xác định các đối tƣợng 40
Hình 2-22: Hình chữ nhật bao quanh các đôi tƣợng tìm đƣợc 40
Hình 2-23: (a) vùng nhập dữ liệu trên ảnh mẫu; (b) ảnh scan; (c) các đƣờng thẳng gần
vùng nhập dữ liệu nhất; (d) kết quả tách vùng trên ảnh scan 42
Hình 2-24: Những kiểu vùng nhập dữ liệu giải quyết trong luận văn 43
Hình 2-25: Vùng đánh dấu trả lời câu hỏi trong bài thi trắc nghiệm 43
Hình 2-26: Kết quả phép chiếu theo chiều ngang 44
Hình 2-27: Các phân đoạn tiềm năng 45

Hình 2-28: Các phân đoạn đúng tìm đƣợc 45
Hình 2-29: (a) Kết quả phép chiếu theo chiều dọc, (b) các phân đoạn tiềm năng, (c) các
phân đoạn đúng tìm đƣợc 45
Hình 2-30: Vùng nhập số 48
Hình 2-31: (a) vùng tìm kiếm bị mất đƣờng bao; (b) vùng tìm kiếm đƣợc mở rộng 48
Hình 2-32: Các đƣờng thẳng trong vùng 49
Hình 2-33: Các đƣờng thẳng sau bƣớc 2 49
Hình 2-34: Các đƣờng thẳng sau bƣớc 3 49
Hình 2-35: Các đƣờng đứng xác định đƣợc sau bƣớc 4 49
Hình 2-36: Kết quả tách ô bởi các đƣờng thẳng bƣớc 3,4 50
Hình 2-37: Vùng nhập số trong mẫu và trong ảnh scan 50
Hình 2-38: Ảnh trƣớc và sau khi lọc nhiễu 51
Hình 2-39: Hình bao xác định đƣợc trên ảnh 51
Hình 2-40: Các nét cơ bản tạo nên số dạng nét thẳng 51
Hình 2-41: Các số mẫu từ 0 đến 9 51
Hình 2-42: Các nét ngang 52
Hình 2-43: Các nét đứng 52
Hình 3-1: Mẫu form nhập liệu “Sample Dta Etry Form” 57
Hình 3-2: Mẫu form nhập liệu “Sample Data Entry Form” có sử dụng block 58
Hình 3-3: Mẫu form nhập liệu “Mẫu Dữ Liệu Số” với các block và vùng định danh form
59
Hình 3-4: Mẫu form nhập liệu “Mẫu Phiếu Trả Lời Bài Thi Trắc Nghiệm” 60
Hình 3-5: Mẫu form nhập liệu “Phiếu Đánh giá môn học” 61
Hình 3-6: Mô hình khái niệm 64
Hình 3-7: Quy trình thiết kế mẫu phiếu 68
Hình 3-8: Vùng mã form trên ảnh 69
Hình 3-9: Quy trình nhận dạng mẫu phiếu khi chƣa biết mã phiếu 70
Hình 3-10: Quy trình nhận dạng mẫu phiếu khi đã biết mã phiếu 71
Hình 4-2: Vùng cần xác định bị lệch so với vùng xác định thực tế 79
Hình 4-3: (a) Ảnh mẫu (b) Kết quả thu đƣợc sau khi phân vùng 79

Hình 4-1: (a) ảnh thử nghiệm; (b) Một phần của ảnh đƣợc phóng to 80

vi

DANH MỤC BẢNG

Bảng 1: Bảng phân loại ảnh 72
Bảng 2: Lọc nhiễu 73
Bảng 3: Góc nghiêng với ảnh 150DPI 74
Bảng 4: độ lệch trung bình so với góc thực tế 74
Bảng 5: So sánh hiệu năng của phƣơng pháp phép chiếu tối ƣu với phƣơng pháp phép
chiếu 75
Bảng 6: Kết quả xác định góc nghiêng bằng block 76
Bảng 7: Thời gian xâc định block 76
Bảng 8: Độ chính xác phƣơng pháp tách vùng dựa trên block 77
Bảng 9: Độ chính xác của phƣơng pháp xác định đƣờng thẳng 77
Bảng 10: Độ chính xác của phƣơng pháp ghép cặp các đƣờng thẳng trong tập mẫu và
tập ảnh mới 78
Bảng 11: Độ chính xác phƣơng pháp tách vùng dựa trên đƣờng thẳng 79
Bảng 12: Kết quả xác định kích thƣớc trung bình của các đối tƣợng 80
Bảng 13: Thời gian xác định kích thƣớc trung bình 80
Bảng 14: Độ chính xác phƣơng pháp tách vùng dựa trên đƣờng thẳng 81
Bảng 15: Kết quả thực nghiệm nhận dạng số 81
Bảng 16: Kết quả thực nghiệm tích hợp 82


1

MỞ ĐẦU
1.1 Đặt vấn đề

Nhận dạng là bài toán đã xuất hiện khá lâu và đã đạt được nhiều thành tựu.
Tuy nhiên nhận dạng một văn bản bất kì bao gồm cả các văn bản có lẫn chữ viết tay
hoặc hình ảnh luôn là một bài toán khó mà cho đến nay vẫn chưa thật sự có giải pháp
hoàn chỉnh. Để giải quyết bài toán nhận dạng hiện đang có nhiều xu hướng tiếp cận
khác nhau tương ứng với những loại văn bản khác nhau, trong đó nhập dữ liệu tự động
là phương pháp tiếp cận về nhận dạng đối với các văn bản kiểu form nhập liệu.
Càng ngày nhu cầu xử lý dữ liệu của con người trên máy tính càng tăng lên.
Chính vì lý do đó bài toán nhập dự liệu tự động đang ngày càng thu hút được nhiều sự
chú ý và đầu tư. Nó đã vượt ra ngoài khuôn khổ các lĩnh vực nghiên cứu và đang dần
được áp dụng vào thực tế bởi khả năng áp dụng rộng rãi cùng những hiệu quả mà nó
có thể mang lại.
Trên thế giới, hiện đã có nhiều ứng dụng liên quan đến vấn đề nhận dạng
văn bản hay nhập dữ liệu tự động. Có thể kể đến như : sản phẩm FineReader, Scan To
Office của hãng ABBYY, Smart scan Xpress của Pegasus Image, các ứng dụng chấm
thi tự động …Ở Việt Nam cũng đã có các ứng dụng nhận dạng văn bản như VNDocR
của Viện Công nghệ Thông tin hay ImageScan của CardPro. Đây là các ứng dụng
nhận dạng chữ in. Việc nhận dạng chữ viết tay đang còn là một thách thức. Đã có một
số nghiên cứu về nhận dạng chữ viết tay và chữ viết tay tiếng Việt như đề tài "Ứng
dụng mạng Neural trong nhận dạng văn bản"[1]. Tuy nhiên các nghiên cứu này vẫn
còn rất nhiều hạn chế do khả năng nhận dạng chữ viết tay chưa đạt được độ chính xác
cần thiết để có thể áp dụng trên thực tế một cách rộng rãi.
Cùng với sự phát triển của công nghệ thông tin hiện nay, các thuật toán nhận
dạng cũng ngày càng chính xác và đưa ra được các kết quả đáng tin cậy. Ngay cả đối
với chữ viết tay cũng có thể đạt được độ chính xác cao với điều kiện là chỉ nhận dạng
từng chữ riêng biệt và chữ viết đẹp. Với các văn bản thông thường ta khó có thể đạt
được điều này. Tuy nhiên, Các form nhập liệu là kiểu văn bản có cấu trúc và ta có thể
đưa ra một số quy tắc ràng buộc để tăng độ chính xác cho việc nhận dạng - chẳng hạn
như: các chữ được viết riêng rẽ trên các ô riêng biệt của các vùng nhập liệu. Mặt khác,
việc nhận dạng không cần thiết phải tiến hành trên toàn bộ ảnh của tài liệu mà chỉ giới
hạn ở những vùng nhập dữ liệu. Đặc điểm này cũng cho phép ta tiếp cận bài toán một

cách hiệu quả hơn, chẳng hạn có thể sử dụng các thông tin sẵn có từ form mẫu như
định dạng vùng nhập liệu, kích thước ô,…làm tham số nhận dạng. Một khía cạnh khác
của nhận dạng form nhập liệu là các dữ liệu nhận dạng được của mỗi vùng trên form
sẽ phải được tự động gắn vào một trường dữ liệu xác định của ứng dụng.
2

Bài toán nhập liệu tự động từ form tài liệu bao gồm các vấn đề sau :
 Quản trị form: thiết kế form nhập liệu ; quản lý và lưu trữ tự động các tham
số của form để có thể cung cấp dữ liệu cho quá trình nhận dạng sau này
nhanh chóng và tin cậy ; tích hợp với cơ sở dữ liệu.
 Nhận dạng các vùng dữ liệu (bài toán phát hiện và phân vùng dữ liệu).
 Nhận dạng chữ viết tay trên các vùng dữ liệu ; xử lý từ vựng và ghi nhận
vào cơ sở dữ liệu.
 Nhưng trước hết phải tiền xử lý ảnh để làm tốt ảnh, phục vụ cho quá trình
nhận dạng, đảm bảo độ tin cây.

Hình 0-1: Sơ đồ hệ thống
Luận văn này chỉ giới hạn trình bày các giải pháp bao gồm các công việc cụ
thể như sau :
 tiền xử lý ảnh để làm tốt ảnh, phục vụ cho quá trình nhận dạng, đảm bảo độ
tin cậy.
- Thuật toán lọc nhiễu, khử nền và nhị phân hóa ảnh.
- Thuật toán xác định góc nghiêng dựa trên phép chiếu.
- Thuật toán xác định góc nghiêng dựa trên các block.
 Tách các vùng nhập dữ liệu (bài toán phát hiện và phân vùng dữ liệu).
- Thuật toán xác định các đường thẳng trong văn bản phục vụ cho việc xác
định các vùng nhận dạng.
3

- Phân vùng ảnh dựa trên các đường thẳng xác định được.

- Phân vùng ảnh dựa trên vị trí tương đối đến các mốc quy chiếu.
 Nhận dạng các vùng nhập liệu.
- Nhận dạng số viết tay dạng nét thẳng.
- Nhận dạng các ô đánh dấu.
 Quản trị form
- Thiết kế form nhập liệu.
- Quản lý và lưu trữ tự động các tham số của form để có thể cung cấp
thông tin cho quá trình nhận dạng sau này nhanh chóng và tin cậy ; hỗ
trợ các thông tin để tích hợp với cơ sở dữ liệu.
1.2 Nội dung và cấu trúc của khóa luận
Hệ thống mà tôi thực hiện như đã giới thiệu ở trên là bài toán xác định dữ liệu
được nhập vào form sau khi có ảnh từ máy quét. Quy trình xử lý bao gồm : tiền xử lý
ảnh, phân vùng ảnh, nhận dạng ảnh và quản trị form. Nắm bắt được khó khăn cũng
như những đặc trưng của bài toán này, hệ thống được xây dựng đã áp dụng các giải
pháp có độ chính xác cao, phù hợp với đặc trưng ảnh của form nhập dữ liệu với các giả
thiết, ràng buộc của loại ảnh này sẽ được nêu cụ thể ở từng chương tương ứng.
Với nội dung chính là trình bày những lý thuyết cơ bản về xử lý ảnh, về các
bước trong quy trình xử lý của hệ thống và lựa chọn các giải pháp áp dụng vào bài
toán, khóa luận được tổ chức như sau :
Mở đầu
Phần mở đầu giới thiệu về bài toán nhập dữ liệu tự động nói chung: tình hình
Việt Nam và thế giới, các thành tựu đã đạt được trong lĩnh vực nhận dạng chữ viết,
những khó khăn cũng như các đặc trưng của bài toán nhận dạng form nhập dữ liệu so
với các bài toán nhận dạng khác. Phần tiếp theo giới thiệu về hệ thống mà tôi đang tiến
hành nghiên cứu và xây dựng : Tách và nhận dạng số viết tay trong phiếu nhập dữ liệu
cùng với quy trình nhập dữ liệu tự động bằng nhận dạng quang học, phạm vi giới hạn
và trình tự giải quyết bài toán. Từ đó nêu lên nội dung mà tôi nghiên cứu và thực hiện
thông qua việc trình bày nội dung và cấu trúc của khóa luận.
4


Chƣơng 1: Đề xuất giải pháp tiền xử lý ảnh
Chương này trình bày về các phần việc chính liên quan đến tiền xử lý ảnh
trong hệ thống đó là : Giải pháp lọc nhiễu, khử nền và nhị phân hóa thông qua giãn độ
tương phản kết hợp loại bỏ nền lặp lại nhiều lần trên lược đồ histogram; Giải pháp cho
việc khử nghiêng ảnh bằng phép chiếu, bằng các block với các biện pháp tối ưu hóa và
xác định ảnh ngược.
Nội dung của chương tập trung vào:
 Phân tích những đặc trƣng của ảnh dạng form nhập liệu từ đó đưa ra giải
pháp cho việc tiền xử lý ảnh.
 Quy trình thực hiện các giải pháp này.
 Đánh giá ưu và nhược điểm của các phương pháp.
Chƣơng 2: Đề xuất giải pháp phân vùng và nhận dạng ảnh
Chương này trình bày về các giải pháp tách vùng nhập liệu trên ảnh dựa vào
các thông tin cung cấp bởi các form mẫu. Tập trung vào hai hướng chính là xác định vị
trí các vùng theo tọa độ tương đối từ các đường thẳng trên form và từ các mốc quy
chiếu.
Sau khi tách các vùng nhập liệu trên ảnh, các vùng này sẽ được nhận dạng.
Trong khuôn khổ luận văn chỉ trình bày về nhận dạng số viết tay dạng nét thẳng và các
ô đánh dấu là các đối tượng nhập liệu phổ biến nhất.
Nội dung của chương tập trung vào:
 Phân tích những đặc trƣng của ảnh dạng form nhập liệu từ đó đưa ra giải
pháp cho việc tách vùng và nhận dạng.
 Xác định các đối tượng làm mốc quy chiếu trên ảnh( đường thẳng, các
block bên cạnh form).
 Tách vùng nhập liệu.
 Nhận dạng số viết tay và các ô đánh dấu.
 Đánh giá ưu và nhược điểm của các phương pháp.
5

Chƣơng 3: Xây dựng hệ thống tích hợp

Chương 4 trình bày về module quản trị form nhập liệu cho các nhóm form với
các đặc điểm mà các giải pháp ở các chương trước hướng đến.
Nội dung của chương tập trung vào:
 Giới thiệu đặc trƣng của các form nhập liệu mà luận văn này tập trung giải
quyết.
 Thiết kế form nhập liệu.
 Quản lý và lưu trữ tự động các tham số của form để có thể cung cấp thông
tin cho quá trình nhận dạng ảnh sau này nhanh chóng và tin cậy ; hỗ trợ các
thông tin để tích hợp với cơ sở dữ liệu.
Chƣơng 4: Thực nghiệm
Chương 5 mô tả chi tiết quá trình thực nghiệm với các giải pháp đề xuất trong
luận văn cùng với thực nghiệm về hệ thống chung. Đồng thời chương cũng đề cập đến
quá trình thu thập và xây dựng cơ sở dữ liệu ảnh dạng form sử dụng cho thực nghiệm.
Kết luận
Tổng kết lại những kết quả đạt được và chưa đạt được trong quá trình nghiên
cứu và thực hiện khóa luận. Từ đó nêu lên những kết quả cần hướng tới và hướng
nghiên cứu, phát triển trong tương lai.
6

CHƯƠNG 1 – ĐỀ XUẤT GIẢI PHÁP TIỀN XỬ LÝ ẢNH
Sau khi nhận được ảnh từ máy quét, ảnh thu được có thể bị nghiêng do đặt
lệch giấy trong quá trình quét hoặc có thể có nhiễu nền. Những nguyên nhân này làm
cho các vùng nhập liệu trên ảnh bị thay đổi vị trí, biến dạng. Do đó tiền xử lý là một
bước rất quan trọng, tạo tiền đề để có thể nhận dạng ảnh chính xác và hiệu quả. Các
giải pháp được áp dụng trong hệ thống bao gồm : lọc nhiễu và nhị phân hóa [3], xác
định góc nghiêng dựa trên phép chiếu [3] và xác định góc nghiêng dựa trên các block.
1.1 Lọc nhiễu và nhị phân hoá.
Thông thường văn bản được quét và lưu trữ dưới dạng ảnh đa mức xám trong
khi đó hầu hết các thuật toán về xử lý và phân tích văn bản đều dựa trên ảnh nhị phân.
Việc sử dụng ảnh nhị phân chỉ với hai mức trắng và đen giảm bớt được khối lượng

tính toán và đơn giản hoá các phương pháp phân tích so với ảnh xám( 256 mức). Do
vậy việc tìm ra một thuật toán nhị phân hóa nhanh và hiệu quả là một điều rất cần thiết
Nhiều phương pháp về nhị phân hóa ảnh đã được phát triển, trong số đó có
những phương pháp đem lại kết quả rất tốt. Có thể kể đến như thuật toán dựa trên sự
biến thiên về cường độ mức xám ở các vùng khác nhau của văn bản [24], thuật toán về
tính ngưỡng nhị phân cục bộ [18] hay thuật toán dựa trên đa độ phân giải [17] … Tuy
nhiên các phương pháp này thường áp dụng đối với những hình ảnh tổng quát và đòi
hỏi tính toán phức tạp bởi vì đều phải tính đến cấu trúc của ảnh.
Trong bài toán này, chúng tôi chỉ xử lý trên các văn bản kiểu form nhập liệu,
vốn dĩ là các ảnh đơn giản chỉ gồm hai mức đen (để thể hiện chữ) và trắng (nền của
văn bản); văn bản cũng thường phân bố khá đồng đều. Chính vì vậy việc nhị phân hóa
ảnh có thể được thực hiện chỉ dựa trên lược đồ xám của ảnh mà không phụ thuộc vào
cấu trúc. Trên cơ sở này, chúng tôi đã kết hợp các kỹ thuật thực hiện nhiều lần tăng
cường độ tương phản bằng cách điều chỉnh mức xám, phân ngưỡng tự động để nhị
phân hoá ảnh.
Mô tả thuật toán
Ảnh của văn bản gốc vốn dĩ là ảnh nhị phân, tức là chỉ có hai ngưỡng đen,
trắng cho chữ và nền. Song sau khi in ra và quét lại vào máy tính, nó trở thành ảnh đa
mức xám tức là có 256 ngưỡng khác nhau. Một số vùng nền có thể xám hơn, ngược lại
một số đối tượng chữ, bảng và dòng kẻ có thể mờ đi. Nhiệm vụ của chúng ta ở đây là
tách các đối tượng cần xử lý ra khỏi hình nền.
Thuật toán được xây dựng dựa trên giả thiết tổng diện tích của hình( chữ và
đối tượng trên form) so với diện tích ảnh là nhỏ ,và tuy có sự biến đổi về ngưỡng
nhưng vẫn có sự khác biệt tương đối giữa ngưỡng của chữ và của nền. Thông qua việc
7

tăng cường độ tương phản lặp lại nhiều lần, ta hi vọng rằng có thể khuyếch đại sự khác
biệt này một cách đáng kể.
Ảnh là một tập các điểm ảnh, được biểu diễn bởi công thức :
   

, [0,255]I x y n n

Công thức 1-1
Trong đó x,y là các trục tọa độ của ảnh và n có thể lấy bất kì giá trị nào trong
khoảng [0, 255]. Khi n = 255 thì đó là điểm trắng, n = 0 thì đó là điểm đen.
Khi đó giá trị trung bình của mức xám là:
00
( , )
:
:
yH
xW
xy
I x y
W Width
T
H Height
WH










Công thức 1-2


Hình 1-1: Lƣợc đồ mức xám của ảnh
Với giả định rằng tổng số lượng điểm ảnh biểu diễn cho chữ và các đối tượng
chứa thông tin là nhỏ so với kích cỡ của ảnh, và các điểm ảnh này cũng có mức xám
nhỏ hơn so với các điểm ảnh nền, chúng tôi cho rằng giá trị trung bình của mức xám
của ảnh được quyết định bới các điểm ảnh nền. Dựa trên giả thiết này, để tăng độ
tương phản của ảnh – tức là làm tăng độ nổi của các điểm ảnh chứa thông tin so với
nền, chúng tôi coi như tất cả các điểm ảnh có mức xám lớn hơn giá trị của mức xám
trung bình là các điểm ảnh nền và đặt lại mức xám của chúng là 255 (trắng).
Sau bước biến đổi này ta thu được một ảnh mới:
})255{],0['('),('  TnnyxI

Công thức 1-3
8

Tiếp đó để tăng cường độ tương phản của ảnh sau khi chọn T là ngưỡng để
tách nền, ta tăng cường độ tương phản của ảnh mới thông qua việc giãn khoảng của
mức xám [2] của các điểm ảnh có mức xám nhỏ hơn mức xám trung bình từ [0,T] lên
[0,255]
1
( ')
255. '
( ')
n f n
n
fn
T



Công thức 1-4

Cuối cùng ta thu được ảnh mới :
])255,0[(),(
111
 nnyxI

Công thức 1-5

Hình 1-2: Đồ thị biến đổi mức xám
9


Hình 1-3: Ảnh trƣớc (a) và sau biến đổi lần 1 (b)
Công việc trên được thực hiện lặp đi lặp lại cho đến khi hình ảnh đạt được đến
một độ sạch cần thiết. Điều kiện kết thúc là khi mức xám trung bình của ảnh trước và
sau khi biến đổi không thay đổi.
Ta có thể tóm tắt quy trình lọc nhiễu như sau :
Bƣớc 1 : Tính giá trị trung bình T
00
( , )
WH
k
xy
k
I x y
T
WH






Công thức 1-6
Bƣớc 2 : Loại nền cho ảnh dựa vào T
k

'
( , ) ( , )
( , )
255 ( , )
k k k
k
kk
I x y I x y T
I x y
I x y T







Công thức 1-7
Bƣớc 3 : Tăng độ tương phản cho ảnh mới
10

'
1
()
kk

I f I



Công thức 1-8
Bƣớc 4 : Lặp lại bước 1 cho tới khi giá trị T giữa 2 lần lọc liên tiếp nhau là
gần như nhau
Với cách lọc trực tiếp trên ảnh ở trên, thì tiếp chi phí tính toán cho phương
pháp lọc này chủ yếu tập trung vào chi phí tính toán ở T
k
và I
k+1
. Trong công thức tính
T
k
, giá trị của T
k
chỉ phụ thuộc vào giá trị của I
k
(x,y) chứ không phụ thuộc vào vị trí.
Nếu ta lưu lại được giá trị này thì sẽ không cần đọc lại ảnh trong mỗi bước lặp.
Để giảm chi phí tính toán cho phép lọc này chúng ta chỉ tính lược đồ
histogram của ảnh, sau đó tất cả các tính toán đều thực hiện trên lược đồ histogram với
256 phần tử( so với 1241x1755 điểm ảnh của ảnh trang A4 scan với độ phân giải
150DPI). Phép lọc ảnh được thực hiện nhiều lần chỉ trên lược đồ mức xám và cuối
cùng mới thực hiện phép biến đổi tăng độ tương phản( công thức 2-7) cho ảnh cuối
I
final
.
Ta có thể hình dung các bước thực trên lược đồ mức xám như sau:

 Bước 1 : Xác định lược đồ mức xám của ảnh
 Bước 2 : Tính giá trị trung bình T
k
, dựa vào lược đồ mức xám
 Bước 3 : Biến đổi lược đồ mức xám dựa trên T
k

 Bước 4 : Lặp lại bước 2, cho tới khi T
k
và T
k-1
gần như nhau.
 Bước 5 : Thực hiện điều chỉnh độ tương phản cho ảnh gốc cuối cùng dựa
trên kết quả của lược đồ mức xám ở bước cuối.
Sau cùng, khi ảnh đã được lọc nền và làm sạch, ta tiến hành nhị phân hóa ảnh.
Ngưỡng nhị phân được chọn là:
NTThreshold
final
10
4
3


Công thức 1-9
Trong đó T
final
là mức xám trung bình trong bước biến đổi cuối cùng, N là số bước thực
hiện biến đổi.
11


Ta thu được ảnh đã lọc nhiễu và nhị phân hóa như trong hình vẽ

Hình 1-4: (a) Ảnh scan; (b) Ảnh sau lần lọc thứ nhất; (c) Ảnh sau lần lọc cuối cùng; (d) Ảnh sau khi nhị
phân hóa
Dựa trên kết quả thực nghiệm sau khi áp dụng thuật toán đối với 60 form văn
bản thuộc về 4 loại khác nhau, chúng tôi thấy rằng kết quả thu được hoàn toàn có thể
so sánh với kết quả của các thuật toán khác. Thời gian để nhị phân hóa ảnh có độ phân
giải là 300 DPI với 10 lần lặp chỉ là 66 ms. Điều này chứng minh rằng thuật toán có
thể áp dụng rất hiệu quả khi ta cần xử lý văn bản với số lượng lớn.
1.2 Xác định góc nghiêng của ảnh
Văn bản bị nghiêng xảy ra trong quá trình copy hoặc khi quét vào máy tính,
điều này ảnh hưởng đến toàn bộ các đối tượng có trong văn bản nhất là các vùng mà ta
cần phải nhận dạng. Văn bản bị nghiêng là một điều không thể tránh khỏi, và trong
nhiều trường hợp gây ảnh hưởng không tốt đến độ chính xác đối với kết quả phân
vùng và nhận dạng ký tự. Cũng có một số phương pháp về phân vùng ảnh không yêu
cầu văn bản phải có góc nghiêng bằng không [5, 25]. Tuy nhiên các phương pháp này
vẫn đòi hỏi góc nghiêng của văn bản nằm trong một khoảng giới hạn cho phép. Bên
cạnh đó, đơn giản hóa vấn đề này sẽ dẫn tới phức tạp hóa cũng như tốn thời gian xử lý
đối với các nhiệm vụ khác. Do đó chính xác lại góc nghiêng của ảnh là một việc làm
tất yếu và phải được thực hiện trước khi tiến hành phân vùng và nhận dạng ảnh.
12


Hình 1-5: (a) ảnh sau khi khử nhiễu và tách nền; (b) ảnh sau khi khử nghiêng
Các văn bản có rất nhiều đặc trưng khác nhau như đặc trưng về hướng, về cấu
trúc phân bố các đối tượng Từ đó cũng có một số phương pháp xác định góc nghiêng
cho ảnh của văn bản tương ứng như các phương pháp dựa trên phép biến đổi Hough
[9,19,14,29,34], hàng xóm gần nhất( Nearest Neighbour) [7,30,37], phép chiếu
[6,8,22,36] , đối tượng liên kết [28,31], và một số phương pháp khác [10,15,32,38].
Mỗi phương pháp có một cách tiếp cận khác nhau cùng những ưu điểm và nhược điểm

nhất định. Một số phương pháp có khả năng tìm góc nghiêng trong khoảng [-5
0
,+5
0
]
cho đến [-45
0
,+45
0
]. Một số phương pháp khác cho phép tìm góc nghiêng bất kỳ đối
với nhiều loại văn bản đa dạng và phức tạp.
Bên cạnh đó còn một số phương pháp đặc thù như sử dụng đường thẳng dày
[4], sử dụng khung [11] …Các phương pháp này gắn chặt với một vài loại form văn
bản nhất định đã được định nghĩa từ trước. Góc nghiêng tìm được thông qua việc tìm
các đối tượng đánh dấu trên form.
Trong bài toán mà ta đang xem xét, khi nhận dạng để nhập dữ liệu tự động, ta
thu được một tập ảnh của cùng một loại form mẫu để nhận dạng, thông thường là qua
quét ảnh theo lô. Góc nghiêng của ảnh chỉ có thể lên đến nhiều nhất là ±20
0
. Cộng với
cấu trúc của không quá phức tạp và yêu cầu về tốc độ xử lý. Do đó tôi đã lựa chọn hai
phương pháp trình bày dưới đây khi xây dựng hệ thống, những phương pháp này tuy
còn một số hạn chế nhưng phù hợp với đặc trưng ảnh của bài toán, cho thời gian tính
toán nhanh và chính xác.
13

1.2.1 Phƣơng pháp xác định góc nghiêng dựa trên phép chiếu.
Đây là phương pháp mà tôi và tác giả Đinh Văn Phương đã cùng xây dựng và
tối ưu trong quá trình nghiên cứu khoa học sinh viên.
Tư tưởng cơ bản của phương pháp này dựa trên đặc trưng của văn bản đó là

các dòng chữ hoặc các đối tượng khác như bảng hoặc các đoạn thẳng thường được đặt
một cách có thứ tự. Các chữ thường được đặt theo từng dòng, giữa các dòng có khoảng
cách; các bảng hoặc hình hộp cũng thường được đặt theo chiều ngang. Do đặc trưng
này nên khi ta chiếu các điểm đen của một văn bản với góc nghiêng bằng không theo
chiều ngang thì ta sẽ thu được một đồ thị rất sắc và có độ biến thiên lớn. Với các văn
bản bị nghiêng, ta có thể thấy là phép chiếu sẽ tạo ra một đồ thị trơn và thấp hơn. Dựa
trên việc đánh giá các đồ thị này ta sẽ tìm được góc nghiêng chính xác của ảnh.

Hình 1-6: (a)ảnh với góc nghiêng bằng không; (b) đồ thị của phép chiếu ngang trên ảnh (a)

Hình 1-7: (a) ảnh với góc nghiêng 5
0
; (b) đồ thị của phép chiếu ngang trên ảnh (a)
Mô tả phương pháp phép chiếu [23] :
 Các điểm đen trên hình ảnh sẽ được chiếu theo các đường thẳng song song
vào một mảng tích lũy( A). Mỗi phần tử của mảng tương ứng với một
đường chiếu và giá trị của nó là số điểm đen nằm trên đường chiếu đó.
 Sử dụng phép chiếu đối với mỗi góc nghiêng giả định, ta thu được một tập
các mảng tích lũy( A
θ
). Dựa vào hàm đánh giá F( A
θ
) với MINANGLE ≤ θ
≤ MAXANGLE, ta tìm được góc nghiêng chính xác θ của ảnh là góc làm
cho giá trị của hàm đánh giá F( A
θ
) đạt cực đại.
14

Dựa trên các đặc trưng của văn bản ta có hai hàm đánh giá :




n
i
iAiAAF
1
2
1
])1[][()(


Công thức 1-10: Đánh giá độ biến thiên trên đồ thị của phép chiếu
(Dựa trên đặc điểm : đồ thị phép chiếu của văn bản với góc nghiêng chính
xác thường có độ biến thiên lớn)









00
11
)(
)])[(1()(
0
2

xif
xif
xu
iAuAF
n
i


Công thức 1-11: Đánh giá các khoảng trống trên đồ thị của phép chiếu
(Dựa trên đặc điểm : đồ thì phép chiếu của văn bản với góc nghiên chính xác
thường có nhiều khoảng trống và có khoảng trống rộng hơn)
Áp dụng phương pháp phép chiếu, ta thử với từng góc θ nằm trong khoảng (
MINANGLE, MAXANGLE). Góc θ tìm được là góc có hàm đánh giá tương ứng đạt
giá trị cực đại.
1.2.1.1 Tối ƣu thuật toán
Từ thực tế nghiên các loại Form khác nhau, chúng tôi nhận thấy các văn bản
dạng Form có nhiều đường thẳng, nhiều hình chữ nhật song song với hướng của văn
bản; khi văn bản bị nghiêng với một góc θ, thì các hình này không bị biến dạng nhiều.
Cùng với cách làm như trên, chi phí tính toán tập trung nhiều vào việc tính tổng số
điểm đen trên đường chiếu. Để khắc phục nhược điểm này ta có thể không cần tính
đến tất cả các điểm đen trên đường chiếu mà chỉ xét xem đường chiếu đường chiếu
thuộc về kiểu nào trong hai loại: đường chiếu có chứa ít nhất một điểm đen (gọi là
đường chiếu đen – gọi tắt là đường đen) và đường chiếu không có chứa điểm đen(gọi
là đường chiếu trắng – gọi tắt là đường trắng).
Với giả thiết ở trên, chúng ta sẽ phân tích ảnh ở tất cả các góc nghiêng θ có thể
bằng cách vẽ các đường chiếu song song trên ảnh ở các góc nghiêng này, và xác định
các đường chiếu là đường đen hay đường trắng. Theo đó các đối tượng (như textline,
đường thẳng, hình chữ nhật, bảng…) có thể được xấp xỉ bằng các hình bình hành –
Hình 1-8 b. Việc ước lượng góc nghiêng của ảnh dựa trên diện tích các hình bình hành
hoặc phần bù của các hình bình hành đó [16].

15


Hình 1-8: (a) Ảnh scan, các đƣờng màu đỏ là các đƣờng chiếu ở góc nghiêng θ. (b) Ảnh đƣợc xấp xỉ bởi
các hình bình hành
Để tăng cường độ chính xác chúng ta có thể chia nhỏ đường chiếu bằng cách
chia ảnh thành các vùng có độ rộng như nhau – Hình 1-9 a. Ta coi mỗi vùng như là
một ảnh con, và việc phân tích ảnh được áp dụng trên mỗi một ảnh con này

Hình 1-9: (a) Ảnh scan. (b) (c) (d) Ảnh các đƣờng chiếu đen và trắng ở các góc nghiêng -2.5, -3.5, 2
Đặt A(θ) là diện tích các hình bình hành tương ứng với góc nghiêng θ, T là
tổng diện tích của toàn bộ ảnh và B(θ) = T-A(θ) là diện tích phần bù của các hình bình
hành. Khi đó góc nghiêng của ảnh sẽ được ước lượng bởi giá trị lớn nhất của tất cả các
B(θ ) hay θ* = Max B(θ).
Để tính được kích thước của vùng trắng, đơn giản chúng ta chỉ việc đếm số
điểm ảnh trên đường trắng. Với mỗi một đường chiếu ta làm như sau:
16

IF nếu là điểm ảnh màu đen THEN
Chúng ta dừng lại, trả lại giá trị 0, và chuyển sang duyệt đường chiếu tiếp theo
ELSE
Tăng số điểm ảnh trắng lên 1, chuyển sang điểm tiếp theo trong đường chiếu
Trong phương pháp này chúng ta phải phân tích ảnh ở nhiều góc khác nhau,
và số lượng các đường chiếu là lớn, chi phí của thuật toán tập trung vào việc xác định
các đường chiếu. Để nâng cao hiệu quả của thuật toán, chúng ta nên tập trung vào việc
giảm chi phí tính toán trên các đường chiếu đó.
Nhận thấy các đường chiếu là các đường song song nhau, nên hệ số góc của
các đường chiếu này là như nhau, do vậy chúng ta chỉ cần tính một lần hệ số góc cho
mỗi một lần phân tích ảnh ở góc nghiêng θ. Để tránh tính toán trên các số thực chúng
tôi sử dụng các đường chiếu là các đường thẳng Bresenham. Với mỗi một góc nghiêng

θ, chúng ta sẽ tính trước các điểm trên đường thẳng Bresenham. Sau đó, với mỗi
đường chiếu ta sẽ sử dụng lại tập điểm đã tính trước.
Tuy nhiên độ chính xác phụ thuộc vào việc ảnh đó được chia làm bao nhiêu
phần. Nếu chia quá nhỏ thì đối với các góc nghiêng gần nhau (chỉ cách nhau 0.2
o
hoặc
0.3
o

) sẽ gần như không có sự sai khác nhau về tổng diện tích vùng trắng. Do vậy, việc
xác định góc nghiêng sẽ không chính xác trong trường hợp này. Để khắc phục nhược
điểm đó, chúng ta sẽ sử dụng phương pháp này để ước lượng nhanh một góc A, sau đó
sử dụng phương pháp như đã trình bày ở đầu, để chính xác hóa góc nghiêng của ảnh.
1.2.1.2 Tối ƣu các tham số.
Văn bản sau khi qua máy quét thường tạo ra một hình ảnh bị nghiêng với góc
nghiêng nằm trong khoảng [-15
0
, 15
0
]. Ta sẽ tìm góc nghiêng của ảnh trong khoảng
này ( MINANGLE = -15, MAXANGLE = 15). Đây là một khoảng xác định phù hợp,
vì nếu khoảng tìm kiếm quá lớn sẽ làm tăng thời gian xử lý, ngược lại nếu khoảng quá
nhỏ thì có nhiều khả năng góc nghiêng sẽ nằm ngoài khoảng. Trong trường hợp góc
nghiêng của hình ảnh vượt quá khoảng tìm kiếm thì điều đó cũng sẽ được phát hiện
trong bước xử lý tiếp theo( phân vùng ảnh), khi đó ta sẽ thực hiện tìm kiếm lại góc
nghiêng với một khoảng tìm kiếm rộng hơn.
Độ chênh lệch trong việc chọn từng góc θ trong khoảng tìm kiếm cũng có ảnh
hưởng quan trọng đối với hiệu năng và độ chính xác. Ví dụ như nếu mỗi góc θ cách
nhau một khoảng 0.1 và khoảng tìm kiếm là ±15
0

thì cần xét với 300 trường hợp, độ
chính xác của góc nghiêng thu được là ±0.1
0
. Việc tính hàm ước lượng đối với tất cả
các góc nghiêng có thể như vậy là không cần thiết, thay vào đó chúng tôi sử dụng
khoảng cách 2
0
để ước lượng ở bước đầu tiên. Sau đó dựa vào kết quả thu được, chúng
tôi thu hẹp khoảng tìm kiếm và khoảng cách giữa các góc cần ước lượng để đạt được
độ chính xác cao hơn.
17

Cụ thể là sau bước đầu tiên, ta đã ước lượng được góc nghiên của ảnh là β với
độ chính xác ±2
o
, Bước tiếp theo sẽ tiếp tục tìm kiếm góc nghiêng trong khoảng (β -
2
o
, β + 2
o
) với khoảng cách giữa các góc cần ước lượng là 0.4
o
. Sau bước này ta lại có
một ước lượng về góc nghiêng mới là β’ với độ chính xác là ±0.4
o
. Cứ tiếp tục như vậy
cho đến khi ta đạt được độ chính xác cần thiết là ±0.1
o
.
Thực nghiệm cho thấy trong bước đầu tiên, nếu lấy khoảng cách là 1

0
hoặc 2
0

không làm thay đổi độ chính xác của thuật toán.
Để tăng cường hơn nữa hiệu quả tính toán, trong bước đầu tiên khi độ chính
xác là nhỏ, do đó không cần phải sử dụng ảnh lớn và chi tiết. Chúng tôi sử dụng ảnh
cỡ khoảng 50DPI( thu nhỏ từ ảnh ban đầu) cho các bước ước lượng ban đầu, còn trong
các bước tiếp theo thì sử dụng ảnh gốc để đảm bảo độ chính xác.
Hình 1-10: (a) Ảnh scan. (b) Ảnh sau khi chính xác góc nghiêng
Ƣu điểm của phƣơng pháp :
 Phương pháp phép chiếu để xác định góc nghiêng của ảnh cho kết quả rất
chính xác đối với ảnh của form nhập dữ liệu do có nhiều đường thẳng
 Tư tưởng của phép chiếu trong sáng, dễ cài đặt
 Tuy phép chiếu đòi hỏi tính toán phức tạp nhưng ta có thể tăng tốc được
bằng cách sử dụng đường thẳng theo phương pháp Bresenham và kỹ thuật
sử dụng bảng lookup table
18

Nhƣợc điểm :
 Cho kết quả không chính xác lắm đối với các ảnh có kích thước nhỏ do ta
sử dụng các đường chiếu là các đường thẳng trong hệ tọa độ số nguyên nên
các đường thẳng này chỉ là xấp xỉ, ảnh càng lớn thì các đường thẳng này
càng chính xác sẽ càng cho kết quả chính xác hơn.
 Các hàm ước lượng về biểu đồ của phép chiếu chưa thể hiện được hết bản
chất của phép chiếu. Mỗi công thức chỉ mô tả được một khía cạch cụ thể.
1.2.2 Phƣơng pháp xác định góc nghiêng dựa trên các block.
Một trong các xu hướng gần đây trong việc thiết kế form nhập liệu là thêm vào
ảnh các blocks( các ô đánh dấu đen) để giúp xác định vị trí của các vùng nhập liệu.
Các block này thường là những hình chữ nhật, elip hoặc hình tròn được tô kín, có mức

xám bằng không và nằm ở biên của ảnh như hình 1-11. Một số form sử dụng bốn hình
vuông lớn ở bốn góc hay một số đối tượng có đặc điểm nổi bật khác. Tuy nhiên bàn về
tính hiệu quả cũng như tính thẩm mỹ của form nhập liệu, trong khuôn khổ luận văn
này tôi chỉ tập trung vào chuỗi các ô đen cách đều nhau ở hai biên bên cạnh của ảnh.

Hình 1-11: Một phần ảnh mẫu với các block ở lề phải
Ngoài chức năng xác định vị trí, với đặc điểm nổi bật trên form, các block còn
rất hiệu quả trong việc xác định góc nghiêng và thậm chí là xác định được ảnh ngược
một cách dễ dàng.
Tư tưởng chung của phương pháp này là trước hết xác định tất cả các đối
tượng trên form, mỗi đối tượng là một vùng liên thông các điểm ảnh có mức xám nhỏ
hơn ngưỡng nhị phân. Trên tập các đối tượng tìm được, loại bỏ các đối tượng quá nhỏ
hoặc quá lớn, các đối tượng có mật độ điểm đen thấp ( mật độ điểm đen của một đối
tượng là thương của tổng số điểm đen trên diện tích bao).
Sau khi xác định được các đối tượng ta xét lần lượt hai bên lề trái phải( xét cả
hai bên lề vì ảnh có thể bị ngược). Với mỗi lề chỉ để lại các đối tượng gần lề nhất. Trên
19

các đối tượng còn lại, xấp xỉ một đường thẳng qua tâm các đối tượng này. Nếu tồn tại
một đường thẳng như thế thì góc nghiêng của đường thẳng này chính là góc nghiêng
của ảnh.
Với mỗi form nhập dữ liệu, để đảm bảo chức năng xác định góc nghiêng và
xác định vị trí chỉ cần dãy các ô đen ở một bên cạnh của form. Do đó dựa vào vị trí của
dãy block đen nằm ở phía bên nào của trang giấy mà ta có thể xác định được ảnh có bị
ngược hay không.
Xác định mật độ điểm đen cho phép

Hình 1-12: block trong mẫu và block bị nghiêng trong ảnh scan
Khi ảnh không bị nghiêng mật độ điểm đen của block là 1/1( 1 điểm đen trên 1
pixel) đối với block dạng hình chữ nhật và hình vuông. Với block dạng hình tròn mật

độ điểm đen là π/4.
Khi ảnh bị nghiêng một góc α, với hình tròn thì mật độ điểm đen không thay
đổi, tuy nhiên với hình vuông và hình chữ nhật như hình vẽ trên thì mật độ điểm đen
trên hình bao quanh block sẽ bị giảm đi.
  
sin cos cos sin
1
h w h w
Density wh
   



 
22
sin2
1
1
2
hw
Density wh




Công thức 1-12
Cụ thể với block hình vuông bị nghiêng 15% thì mật độ là :
Density = 1/(1 + sin30
o
) = 2/3

Đối tƣợng gần lề nhất
Như hình 1-13 (e), Khi hai đối tượng a và b có phần trùng nhau khi chiếu lên
trục y, nghĩa là
max min max min
,
a b b a
Y Y Y Y
, thì đối tượng nào có tọa độ trên trục x lớn hơn sẽ
được đánh giá là gần lề hơn.
Trình tự các bước thực hiện thuật toán như sau :
Bƣớc 1 : xác định tất cả các đối tượng ở một bên lề ảnh

×