Tải bản đầy đủ (.doc) (70 trang)

Tìm hiểu một số kỹ thuật phát hiện góc nghiêng văn bản và ứng dụng

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 (2.45 MB, 70 trang )

1

LỜI CẢM ƠN
Em xin trân trọng cảm ơn các thầy giáo, cô giáo trong Viện Công nghệ
thông tin, Khoa Công nghệ thông tin Đại học Thái Nguyên đã nhiệt tình
giảng dạy và hết lòng giúp đỡ em trong quá trình học tập và nghiên cứu đề
tài.
Luận văn được hoàn thành tại Khoa Công nghệ thông tin dưới sự hướng
dẫn của PGS.TS Ngô Quốc Tạo. Em xin bày tỏ lòng kính trọng và biết ơn
sâu sắc tới thầy.
Em cũng xin chân thành cảm ơn các bạn đồng nghiệp phòng Khảo thí &
Đảm bảo chất lượng trường Đại học Hải Phòng đã tạo điều kiện giúp đỡ
trong quá trình hoàn thành luận văn này.
Sự quan tâm, giúp đỡ của gia đình và bạn bè, đặc biệt lớp Cao học K7
Khoa Công nghệ thông tin đã cổ vũ, động viên em trong suốt thời gian học
tập và thực hiện đề tài.
Mặc dù có nhiều cố gắng song luận văn không thể tránh khỏi những thiếu
sót, tác giả mong nhận được sự đóng góp ý kiến của các thầy cô và các ban.
Xin chân thành cảm ơn!
Thái Nguyên, tháng 11 năm 2010
Tác giả

Hoàng Thị Vân Anh


2

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “ Tìm hiểu một số kỹ thuật phát hiện góc
nghiêng văn bản và ứng dụng” là do tôi tự tìm hiểu và được hoàn thành dưới
sự hướng dẫn của thầy giáo PGS. TS Ngô Quốc Tạo




3

MỤC LỤC
Trang
Trang phụ bìa
Lời cam đoan
Mục lục
Danh mục các bảng
Danh mục các hình vẽ
Hình 3.4: Sơ đồ phân bố histogram chu vi sau khi gom 56...................................................5

PrmAvr....................................................................................................................61
Hình 3.4: Sơ đồ phân bố histogram chu vi sau khi gom......................................................61

4.1 Sơ đồ chức năng của chương trình...................................................................64
4.2. Thiết kế Menu..................................................................................................65
4.3. Giao diện chính của chương trình...................................................................66

DANH MỤC BẢNG BIỂU
Bảng 1: Kết quả thực nghiệm của các phương pháp phát hiện góc
nghiêng…………………………………………………………………........49
DANH MỤC HÌNH VẼ
Hình 1.1 Quá trình xử lý ảnh .......................................................................... 3
Hình 1.2: Các giai đoạn trong xử lý ảnh......................................................... 3
Hình 1.3a ........................................................................................................ 7
Hình 1.3b......................................................................................................... 7
Hình 1.4a: Các 4- láng giềng của điểm ảnh P................................................11
Hình 1.4b: Các 8- láng giềng của điểm ảnh P................................................11

Hình 1.5a.Chu tuyến ngoài..............................................................................12
Hình 1.5b. Chu tuyến trong.............................................................................12
Hình 1.6: Chu tuyến trong và chu tuyến ngoài của một đối tượng.................12
Hình 1.7: Hướng các láng giềng của một điểm ảnh........................................13


4

Hình 1.8a: Hướng xác định cặp vùng nền xuất phát......................................14
Hình 1.8b: Hướng xác định cặp vùng nền tiếp theo.......................................14
Hình 2.1: Biến đổi Hough cho đường thẳng...................................................16
Hình 2.2: Tham số r – φ của đường thẳng.......................................................16
Hình 2.3: Biến đổi Hough trong không gian r- φ ............................................17
Hình 2.4: Các hình chữ nhật ngoại tiếp...........................................................18
Hình 2.5 : Áp dụng biến đổi Hough phát hiện góc nghiêng văn.....................19
Hình 2.6 Quay một điểm ảnh quanh gốc tọa độ..............................................22
Hình 2.7 Hiện tượng rỗ ảnh sau khi quay........................................................23
Hình 2.8 a Ảnh gốc..........................................................................................23
Hình 2.8b Ảnh bị nghiêng 50...........................................................................23
Hình 2.8 Phương pháp hình chiếu được tính từ ảnh trong hình 2.8a, 2.8b.....24
Hình 2.9 Một ví dụ các dòng văn bản có xu hướng dính lại với nhau do ảnh
hưởng của dấu.................................................................................................27
Hình 2.10: Các điểm left most bottom và bottom most left ...........................28
Hình 2.11: Những khoảng góc nghiêng khác nhau được sử dụng để ước lượng
góc nghiêng phù hợp cho phần tử cấu trúc......................................................31
Hình 2.12: Một vài ví dụ của việc sử dụng phép đóng và mở với những phần
tử cấu trúc nghiêng..........................................................................................32
Hình 2.13: Một thành phần liên thông dài với hệ tọa độ ảnh..........................33
Hình 2.14a. Định nghĩa điểm chủ đạo.............................................................41
Hình 2.14b. Định hướng góc nghiêng.............................................................41

Hình 2.15: Điểm chủ đạo trên dòng văn bản...................................................43
Hình 2.16: Quan hệ láng giềng giữa các điểm chủ đạo...................................43
Hình 2.17: Định hướng thuật toán phát hiện góc nghiêng..............................45
Hình 2.18: Mô hình quét dòng văn bản...........................................................47
Hình 3.1 Một ảnh văn bản nghiêng có độ phân giải thấp................................51


5

Hình 3.2: Ví dụ về một ảnh văn bản nghiêng với nhiều đối tượng phức tạp và
ít ký tự..............................................................................................................52
Hình 3.3: Sơ đồ phân bố histogram chu vi trước khi gom..............................55
Hình 3.4: Sơ đồ phân bố histogram chu vi sau khi gom.................................56
Hình 3.5 Ví dụ về một ảnh nghiêng có ít ký tự chữ cái..................................56
Hình 3.6 : Ví dụ về văn bản nghiêng có các đối tượng bao nhau....................57

MỞ ĐẦU
1. Lý do chọn đề tài
Thông tin con người thu nhận từ thế giới bên ngoài, đến hơn 80% được
ghi nhận bằng mắt tức là ở dạng ảnh. Vì vậy xử lý ảnh là một ngành khoa học
đã, đang và sẽ phát triển mạnh có ứng dụng rộng rãi trong khoa học và đời
sống thực tiễn như vẽ bản đồ, trong lĩnh vực quảng cáo, siêu thị, trong quân
sự…. Các hệ thống xử lý ảnh cho phép con người thu nhận lưu trữ, phân tích
và nhận dạng ảnh, một bộ phận quan trọng của xử lý ảnh là xử lý văn bản.
Một trong những nhiệm vụ chính cũng là đối tượng của xử lý ảnh văn bản là
tự động hóa công việc văn phòng.
Hiện nay phần lớn lượng thông tin vẫn còn được lưu trữ, trình bày và
phân phối thông qua phương tiện chủ yếu là giấy bởi con người tin tưởng hơn
khi nhận được văn bản giấy. Tuy nhiên có xu hướng đang phát triển để chia
sẻ và trao đổi thông tin điện tử, vì thế sự cần thiết để chuyển đổi từ tài liệu

giấy sang tài liệu điện tử để lưu trữ, khôi phục và bảo trì ngày càng tăng lên.


6

Để chuyển đổi từ tài liệu giấy sang dạng điện tử thì kỹ thuật thường gồm ba
bước: quét và công nghệ kỹ thuật số, phân tích bố cục và nhận dạng ký tự.
Khi văn bản được quét vào máy, văn bản bị nghiêng là không thể tránh khỏi
do các yếu tố khác nhau khi đưa ảnh vào. Hầu hết các thuật toán nhận dạng ký
tự, phân tích bố cục là phổ biến nhưng lại rất nhạy cảm đối với sự biến dạng
của ảnh văn bản và văn bản bị nghiêng có thể gây ra lỗi nghiêm trọng cho
việc phân tích văn bản. Do đó phát hiện và chỉnh sửa ảnh văn bản bị nghiêng
là cần thiết ở giai đoạn tiền xử lý để tránh nhiễu trong quá trình xử lý
nghiêng.
Một trong những vấn đề đầu tiên trong xử lý ảnh văn bản là bài toán góc
nghiêng văn bản. Nguyên nhân dẫn đến văn bản bị nghiêng một góc xuất phát
từ quá trình quét ảnh hoặc copy ảnh, dẫn đến ảnh bị lệch đi một góc tương
ứng. Văn bản bị lệch có ảnh hưởng rất lớn đến các quá trình xử lý ảnh tiếp
theo, vì vậy việc phát hiện và chỉnh sửa góc nghiêng văn bản là nhiệm vụ
quan trọng đầu tiên trong xử lý ảnh văn bản.
Với những lý do trên đây nên em đã chọn đề tài: “Tìm hiểu một số kỹ
thuật phát hiện góc nghiêng văn bản và ứng dụng”.
2. Mục tiêu nghiên cứu
Hiểu được các phương pháp phát hiện góc nghiêng văn bản. Từ đó đưa
ra những nhận xét, so sánh giữa các phương pháp. Lựa chọn công cụ phát
triển phù hợp cài đặt ứng dụng.
3. Đối tượng và phạm vi nghiên cứu
Tìm hiểu một vài kỹ thuật phát hiện góc nghiêng văn bản về mặt lý
thuyết, từ đó lựa chọn phương pháp cài đặt ứng dụng vào thực tế.
Áp dụng đối với ảnh văn bản đen trắng.

4. Ý nghĩa khoa học và thực tiễn của đề tài
Hệ thống hoá các kiến thức về kỹ thuật phát hiện góc nghiêng văn bản.


7

Việc tìm hiểu và phát triển ứng dụng thành công giúp cho việc xử lý ảnh
trở nên đơn giản và dễ dàng hơn đối với một số trường hợp như: xử lý ảnh
ban đầu để cho ra ảnh mới theo mong muốn của người dùng (ví dụ như ảnh bị
nghiêng cần xử lý để thu được ảnh chính xác hơn…).
5. Phương pháp nghiên cứu
5.1 Dựa trên các tài liệu
- Tìm hiểu lý thuyết liên quan đến xử lý ảnh.
- Tìm hiểu lý thuyết các kỹ thuật phát hiện góc nghiêng văn bản và
chỉnh sửa.
5.2 Phương pháp toán học
- Xử lý các số liệu thống kê

CHƯƠNG I
TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ BÀI TOÁN PHÁT HIỆN
GÓC NGHIÊNG VĂN BẢN
1.1. Xử lý ảnh và các vấn đề cơ bản trong xử lý ảnh.

1.1.1.

Xử lý ảnh là gì?

Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào
nhằm cho ra 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.

Ảnh “tốt hơn”

Ảnh

Xử lý ảnh
Kết luận

Hình 1.1 Quá trình xử lý ảnh
Mục đích của xử lý ảnh gồm:
-

Biến đổi ảnh, làm tăng chất lượng ảnh.


8

-

Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá các nội dung của
ảnh.
Nhận biết và đánh giá được nội dung của ảnh là để phân biệt được đối

tượng này với đối tượng khác, từ đó ta có thể mô tả được ảnh ban đầu. Có
một số phương pháp nhận dạng như: nhận dạng cạnh của một số đối tượng
trên ảnh, tách cạnh, phân đoạn hình ảnh …. Các kỹ thuật này được ứng dụng
nhiều trong y học như: xử lý tế bào, nhiễm sắc thể; nhận dạng chữ viết trong
văn bản…
Thu nhận ảnh
(Scanner, Camera,
Senssor )


Tiền
xử lý

Trích
chọn đặc
điểm

Hậu xử lý

Hệ quyết định

Lưu trữ

Đối sánh rút
ra kết luận

Hình 1.2: Các giai đoạn trong xử lý ảnh

1.1.2.

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

* Ảnh và điểm ảnh:
-

Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại một tọa

độ trong không gian của đối tượng ảnh.
-


Ảnh được xem như là tập hợp các điểm ảnh. Ảnh được biểu diễn bởi

một mảng số thực hai chiều (Ii j) có kích thước (m x n), trong đó mỗi phần tử Ii
j

(i = 1…m; j = 1…n) biểu đồ mức xám của ảnh tại vị trí (i, j) tương ứng.
Ảnh được gọi là ảnh nhị phân nếu các giá trị chỉ nhận 0 hoặc 1.
* Mức xám: Mức xám là kết quả sự mã hóa tương ứng một cường độ

sáng của mỗi điểm ảnh với một giá trị số - kết quả của quá trình lượng hóa.
Cách mã hóa thường dùng là 16, 32 hay 64 mức, mã hóa 256 mức là phổ
dụng nhất.


9

*

Đối tượng ảnh: Trong quá trình xử lý ảnh, một ảnh được thu nhận vào

máy phải được mã hóa, vì vậy ảnh phải được lưu trữ thế nào sao cho các ứng
dụng khác nhau có thể thao tác trên các loại dữ liệu này. Một số dạng ảnh đã
được chuẩn hóa như: GIF, BMP, PCX,...; mỗi kiểu lưu trữ ảnh đều có điểm
riêng. Tùy theo vùng các giá trị xám của điểm ảnh mà các ảnh được phân chia
ra thành ảnh màu, ảnh xám, ảnh nhị phân. Khi trên một ảnh chỉ có giá trị 0
hoặc 1 thì ta nói đó là ảnh nhị phân hoặc ảnh đen trắng và các điểm ảnh của
nó gọi là điểm ảnh nhị phân. Việc đếm các điểm ảnh trên ảnh nhị phân đã qua
biến đổi tạo điều kiện thuận lợi cho việc tách ra các đặc tính. Để tạo ra một
ảnh nhị phân từ ảnh đa cấp xám ta dùng phương pháp tách ngưỡng. Các giá trị

nằm ở trên ngưỡng được gán giá trị 1 còn ở bên dưới ngưỡng thì được gán giá
trị 0.
- Kỹ thuật tách ngưỡng: Ngưỡng θ trong kỹ thuật tách ngưỡng thường
được cho bởi người sử dụng. Kỹ thuật tìm, tách ngưỡng tự động nhằm tìm ra
ngưỡng θ một cách tự động dựa vào Histogram theo nguyên lý trong vật lý là
vật thể tách làm 2 phần nếu tổng độ lệch trong từng phần là tối thiểu.
Giả sử ta có ảnh I ~ kích thước m x n; G ~ số mức xám của ảnh kể cả
khuyết thiếu; t(g) ~ số điểm ảnh có mức xám ≤ g.
m( g ) =

1 g
∑ i.h(i) ~ mômen quán tính trung bình có mức xám ≤ g
t ( g ) i =0
g a f (g)

Hàm f: f ( g ) =

t(g)
2
[ m( g ) − m(G − 1)]
m × n − t(g )

{f ( g )}
Tìm θ sao cho: f ( g ) = 0≤mg G −1

1.1.2.1. Nắn chỉnh biến dạng
Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử.
Để khắc phục, người ta sử dụng các phép chiếu, các phép chiếu thường được
xây dựng trên tập các điểm điều khiển.



10

1.1.2.2. Khử nhiễu
Có hai loại nhiễu cơ bản trong quá trình thu nhận ảnh:
- Nhiễu hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi.
- Nhiễu ngẫu nhiên: là dạng vết bẩn không rõ nguyên nhân nên có thể khắc
phục bằng các phép lọc.
1.1.2.3. Chỉnh mức xám
Nhằm khắc phục tính không đồng đều của hệ thống gây ra, thông thường
có hai hướng tiếp cận:
− Giảm số mức xám: thực hiện bằng cách nhóm các mức xám gần nhau thành
một bó. Trường hợp chỉ có hai mức xám thì chính là chuyển về ảnh đen trắng.
− Tăng số mức xám: thực hiện nội suy ra các mức xám trung gian bằng kỹ
thuật nội suy. Kỹ thuật này nhằm tăng độ mịn của ảnh.
1.1.2.4. Phân tích ảnh
Là khâu quan trọng trong quá trình xử lý ảnh để tiến tới hiểu ảnh.
Trong phân tích ảnh việc trích chọn đặc điểm là một bước quan trọng, các đặc
điểm của đối tượng được trích chọn tùy theo mục đích nhận dạng trong quá
trình xử lý ảnh. Một số đặc điểm của ảnh như: đặc điểm không gian, đặc điểm
biến đổi, đặc điểm biên và đường biên.
1.1.2.5. Nhận dạng ảnh
Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người
ta muốn đặc tả nó. Quá trình nhận dạng thường đi sau quá trình trích chọn các
đặc tính chủ yếu của đối tượng. Nhận dạng tự động, mô tả đối tượng, phân
loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy,
được ứng dụng trong nhiều ngành khoa học khác nhau.
Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai
đoạn chủ yếu sau: thu nhận dữ kiệu và tiền xử lý, biểu diễn dữ liệu, nhận dạng

và ra quyết định. Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:


11

Đối sánh mẫu dựa trên các đặc trưng được trích chọn, phân loại thống kê, đối
sánh cấu trúc, phân loại dựa trên mạng nơron nhân tạo.
1.1.2.6. Nén ảnh
Lượng thông tin để biểu diễn cho một ảnh là rất lớn, vì vậy nén ảnh
nhằm giảm thiểu không gian lưu trữ, thường được tiến hành theo cả hai
khuynh hướng là nén có bảo toàn và nén không bảo toàn thông tin. Nén
không bảo toàn thì thường có khả năng nén cao hơn nhưng có khả năng phục
hồi kém hơn. Các cách nén ảnh:
− Nén ảnh thống kê: Dựa vào việc thống kê tần xuất xuất hiện của giá trị các
điểm ảnh, trên cơ sở đó mà có chiến lược mã hóa thích hợp. Ví dụ: mã nén
*.TIF.
− Nén ảnh không gian: Dựa vào vị trí không gian của các điểm ảnh để tiến
hành mã hóa. Kỹ thuật này dựa vào sự giống nhau của các điểm ảnh trong các
vùng gần nhau. Ví dụ: mã nén *.PCX.
− Nén ảnh sử dụng phép biến đổi: Tiếp cận theo hướng nén không bảo toàn,
kỹ thuật này thường nén hiệu quả hơn. Ví dụ: nén *.JPG.
− Nén ảnh Fractal: sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện
sự lặp lại của các chi tiết. Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần
gốc của ảnh và quy luật sinh ra ảnh theo nguyên tắc Fractal.
1.2. Bài toán phát hiện góc nghiêng văn bản

1.2.1.

Giới thiệu bài toán phát hiện góc nghiêng văn


bản.
Một hệ thống xử lý văn bản thường giải quyết bài toán góc nghiêng văn
bản như bước đầu tiên và tất yếu. Nguyên nhân dẫn đến ảnh văn bản có thể bị
quay hoặc nghiêng một góc bất kỳ có thể do nó được đặt trên trục quay khi
quét ảnh hoặc do sự cố đặt văn bản. Ảnh văn bản bị nghiêng được hiển thị
như trong hình 1.3b.


12

Hìn
h

1.3a

Hình 1.3b
Ảnh văn bản bị nghiêng một góc tương ứng là 50. Trong thực tế, có thể

nhìn thấy văn bản bị nghiêng với độ nghiêng ít nhất là 0,10. Như vậy, một
chức năng mong muốn trong máy Photo hoặc máy quét là phát hiện và chỉnh
sửa góc nghiêng một cách tự động. Ví dụ đầu vào được thể hiện như hình
1.3b và đầu ra được thể hiện như hình 1.3a. Thuật toán phát hiện góc nghiêng
được ứng dụng cho ảnh văn bản và xác định được góc nghiêng (có thể là 0)
khi đã được số hóa. Một giải pháp đơn giản để phát hiện góc nghiêng là xác
định vị trí của ít nhất hai góc của văn bản gốc và tính toán góc nghiêng từ
chúng. Tuy nhiên điều này có thể gây ra lỗi vì xảy ra biến dạng phi tuyến khi
các trang không phẳng trên trục lăn giấy. Ngoài ra, khi quét toàn bộ bề mặt
văn bản có thể bị che khuất do lỗi đưa văn bản đầu vào trong qúa trình quét.
Cùng với sự phát triển của xử lý ảnh, đã có nhiều hướng tiếp cận áp dụng cho
bài toán phát hiện góc nghiêng văn bản như biến đổi Hough, phép chiếu, các

phép toán hình thái, phân tích láng giềng,... Các đặc trưng của từng phương
pháp sẽ được trình bày ở chương tiếp theo.
Khi xem xét một văn bản, để kết luận văn bản có bị nghiêng hay không
cách làm của con người là căn cứ vào một số đối tượng chủ đạo và góc
nghiêng văn bản được ước lượng dựa vào đường nối các điểm giữa đáy của
các đối tượng này. Xuất phát từ nhận xét trên, luận văn sẽ trình bày một
phương pháp phát hiện góc nghiêng văn bản từ kỹ thuật xác định chu tuyến


13

một đối tượng ảnh và áp dụng biến đổi Hough lên điểm giữa đáy hình chữ
nhật ngoại tiếp các đối tượng có kích thước chủ đạo trong ảnh. Việc xác định
các hình chữ nhật này dựa vào biên hay chu tuyến ngoài của các đối tượng.
1.2.2. Biên và phương pháp phát hiện biên
1.2.2.1 Biên của đối tượng ảnh
Biên là một vấn đề chủ yếu trong phân tích ảnh vì các kỹ thuật phân
đoạn ảnh chủ yếu dựa vào biên. Có thể thấy tầm quan trọng của biên khi ta
theo dõi một họa sĩ làm việc. Giả sử anh ta muốn vẽ một quả bóng, nét đầu
tiên được phác họa chính là đường biên của quả bóng sau đó mới đến các chi
tiết bên trong. Như vậy, mới chỉ nhìn biên của sự vật ta cũng đã hình dung ít
nhiều về nó và có thể phân biệt được với các sự vật khác.
Một điểm ảnh được xem là biên nếu ở đó có sự thay đổi đột ngột về
mức xám. Tập hợp các điểm biên tạo thành biên hay một đường bao của ảnh
(boundary). Trong ảnh nhị phân, một điểm ảnh thuộc biên nếu đó là một điểm
đen và có ít nhất một điểm trắng lân cận.
Ta thường sử dụng hai phương pháp phát hiện biên cơ bản:
- Phát hiện biên trực tiếp: Phương pháp này làm nổi biên dựa vào sự
biến thiên mức xám của ảnh. Kỹ thuật chủ yếu dùng để phát hiện biên ở đây
là dựa vào sự biến đổi theo hướng. Nếu lấy đạo hàm bậc nhất của ảnh ta có

kỹ thuật Gradient, nếu lấy đạo hàm bậc hai của ảnh ta có kỹ thuật Laplace.
- Phát hiện biên gián tiếp: Nếu bằng cách nào đó ta phân được ảnh
thành các vùng thì ranh giới giữa các vùng đó gọi là biên. Kỹ thuật dò biên
và phân vùng ảnh là hai bài toán đối ngẫu nhau vì dò biên để thực hiện phân
lớp đối tượng. Khi đã phân lớp xong nghĩa là đã phân vùng được ảnh và
ngược lại, khi đã phân vùng ảnh xong là đã phân lớp thành các đối tượng,
do đó có thể phát hiện được biên.
1.2.2.2 Phương pháp phát hiện biên trực tiếp


14

a. Kỹ thuật phát hiện biên Gradient
Phương pháp gradient là phương pháp dò biên cục bộ dựa vào cực đại
của đạo hàm. Theo định nghĩa, gradient là một vector biểu thị tốc độ thay đổi
giá trị của điểm ảnh theo 2 hướng x và y. Các thành phần của gradient được
tính bởi:
fx =

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

fy =

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


Với dx, dy là khoảng cách giữa các điểm theo hướng x và y (được tính
bằng số điểm ảnh). Trong hệ toạ độ cực ta có:
f(x,y) = f(r.cosϕ, r.sinϕ)
x = r.cosϕ, y = r.sinϕ.
∂f ∂f ∂x ∂f ∂y
=
+
= f x cosϕ + f y sin ϕ
∂r ∂x ∂r ∂y ∂r
∂f ∂f ∂x ∂f ∂y
=
+
= rf x sin ϕ + rf y cosϕ
∂φ ∂x ∂φ ∂y ∂φ

Trong thực tế, khi ta nói lấy đạo hàm của ảnh thực ra chỉ là mô phỏng
và xấp xỉ đạo hàm bằng các kỹ thuật nhân chập hay phép cuộn. Do ảnh số là
tín hiệu rời rạc nên đạo hàm không tồn tại.
Kỹ thuật PreWitt: Kỹ thuật này sử dụng 2 mặt nạ theo 2 hướng x và y:
Hx =

-1 0 1
-1 0 1
Hy =
-1 0 1
dx = dy = 2

-1 -1 -1
0 0 0

1 1 1

Quá trình tính toán được thực hiện qua 2 bước:


Bước 1: Tính I ⊗Hx và I ⊗ Hy



Bước 2: Tính (I ⊗Hx ) + (I ⊗ Hy)


15

Kỹ thuật Sobel: Tương tự như kỹ thuật PreWitt, kỹ thuật Sobel sử dụng 2 ma
trận mặt nạ nhân chập là:
-1 0 1
-2 0 2
-1 0 1

Hx =

Hy =

-1 -2 -1
0 0 0
1 2 1

b. Kỹ thuật Laplace:
Các phương pháp đánh giá Gradient ở trên làm việc rất tốt khi độ sáng

thay đổi rõ nét. Tuy nhiên, khi mức xám thay đổi chậm, miền chuyển tiếp trải
rộng, phương pháp Gradient lại kém hiệu quả so với phương pháp đạo hàm
bậc 2 Laplace. Theo định nghĩa , toán tử Laplace như sau:
∆2 f ∆2 f
∆ f= 2 + 2
∆x
∆y
2

∆2 f
∆( f ( x + 1, y ) − f ( x, y ))
∆ ∆f
=
( )≈
Ta có:
2
∆x ∆x
∆x
∆x

≈ [f(x+1,y) - f(x,y)] - [f(x,y) - f(x-1,y)]
= f(x+1,y) – 2f(x,y) + f(x-1,y).
∆2 f
Tương tự: 2 = f(x,y+1) - 2f(x,y) + f(x,y-1).
∆y

Mặt nạ nhân chập:

H =


0 1 0
1 -4 1
0 1 0

Trong thực tế, người ta thường sử dụng một số biến dạng khác của
toán tử Laplace bằng cách sử dụng một số mặt nạ sau:
H1 =

0 -1 0
-1 4 -1
0 -1 0

H2 =

-1 -1 -1
-1 8 -1
-1 -1 -1

1.2.2.3 Phương pháp phát hiện biên gián tiếp
a. Định nghĩa chu tuyến

H3 =

1 -2 1
-2 4 -2
1 -2 1


16


Chu tuyến của một đối tượng ảnh là dãy các điểm của đối tượng ảnh
P1, P2,..., Pn sao cho Pi và Pi+1 là các 8-láng giềng của nhau (i = 1, …, n – 1) và
P1 là 8-láng giềng của Pn , ∀i ∃ Q không thuộc đối tượng ảnh và Q là 4-láng
giềng của Pi (hay nói cách khác ∀i thì Pi là biên 4). Kí hiệu <P1P2…Pn>.
Trong đó 4-láng giềng được định nghĩa là các điểm trực tiếp bên trên, dưới,
trái, phải của một điểm. Và 8-láng giềng là những điểm 4-láng giềng hoặc các
điểm trên trái, trên phải, dưới trái, dưới phải trực tiếp của một điểm.

P

P

Hình 1.4a: Các 4- láng giềng của Hình 1.4b: Các 8- láng giềng của điểm
điểm ảnh P
ảnh P

Chu tuyến đối ngẫu
Hai chu tuyến C = <P1, P2,...Pn> và C’ = <Q1, Q2,..., Qn> được gọi là
hai chu tuyến đối ngẫu của nhau nếu và chỉ nếu ∀i ∃j sao cho:
• Pi và Qj là 4 láng giềng của nhau.
• Các điểm Pi là vùng thì Qj là nền và ngược lại.
Chu tuyến trong
Chu tuyến C được gọi là chu tuyến trong nếu và chỉ nếu:
• Chu tuyến đối ngẫu C’ của nó là chu tuyến của các điểm nền.
• Độ dài của chu tuyến C’ nhỏ hơn độ dài của chu tuyến C.
Chu tuyến ngoài
Chu tuyến C được gọi là chu tuyến ngoài (hình 1.5a) nếu và chỉ nếu:
• Chu tuyến đối ngẫu C’ của C là chu tuyến các điểm nền.
• Độ dài của chu tuyến C’ lớn hơn độ dài chu tuyến C.



17

Chu tuyến C

Chu tuyến C’

Chu tuyến C’

Hình 1.5a.Chu tuyến ngoài

Chu tuyến C

Hình 1.5b. Chu tuyến trong
Chu tuyến ngoài

Chu tuyến trong

Hình 1.6: Chu tuyến trong và chu tuyến ngoài của một đối tượng

1.2.2.4. Thuật toán dò biên tổng quát
Về cơ bản, thuật toán xác định chu tuyến một đối tượng ảnh gồm các
bước sau:
Bước 1: Xác định cặp vùng nền xuất phát P0.
Bước 2: Xác định cặp vùng nền tiếp theo .
Bước 3: Lựa chọn điểm biên vùng.
Bước 4: Nếu gặp lại cặp nền vùng xuất phát thì dừng, ngược lại quay lại
bước 2.
Khái niệm cặp vùng nền được định nghĩa gồm một điểm vùng và một
điểm nền, trong đó nếu điểm vùng đi được một vòng chu tuyến thì điểm nền

cũng đi được một vòng chu tuyến đối ngẫu.
a. Xác định cặp vùng nền xuất phát.
Để xây dựng các hàm xác định cặp vùng nền xuất phát và tiếp theo, ta
định nghĩa các hướng tương ứng với 8-láng giềng của một điểm ảnh. Gọi
Orient []là mảng dùng lưu các hướng trên, mỗi phần tử tương ứng là độ lệch
hàng và cột của một láng giềng so với điểm đang xét.
3

2

1

4

P

0

5

6

7

Hình 1.7: Hướng các láng giềng của một điểm ảnh
Orient = { (0,1),(-1,1),(-1,0),(-1,-1),(0,-1),(1,-1),(1,0),(1,1) }


18


Với một điểm P(x,y) của ảnh Image có màu c và hướng đi hiện tại là
dir, hàm tìm cặp vùng nền xuất phát Inverse sẽ xác định một hướng đi xuất
phát cho P.
Phương pháp: Từ hướng đi hiện tại quay theo chiều ngược kim đồng
hồ cho đến khi gặp một điểm cùng màu với điểm ảnh đang xét. Nếu thành
công hàm trả về hướng đi trước đó, ngược lại hàm trả về 8 (một giá trị không
thuộc mảng Orient[]).
b. Xác định cặp vùng tiếp theo.
Sau khi xác định được một hướng đi đầu tiên, bước tiếp theo của thuật
toán là lặp lại công việc xác định cặp vùng nền tiếp theo cho tới khi gặp đựợc
điểm ban đầu.
3

2

4
5

6

1

3

0

4

7


5

Hình 1.8a: Hướng xác định cặp
vùng nền xuất phát.

2

1
0

6

7

Hình 1.8b: Hướng xác định cặp
vùng nền tiếp theo.

Tương tự như hàm xác định cặp vùng nền xuất phát, để tìm một hướng
đi cho bước kế tiếp từ hướng đi hiện tại ta quay theo chiều kim đồng cho tới
khi gặp điểm có cùng màu với điểm hiện tại và hàm trả về hướng đi đó. Hàm
Next dùng để xác định hướng đi tiếp theo. Hàm hàm trả về -1 (giá trị không
thuộc Orient[]) nếu không thành công.
c. Thuật toán dò biên.


19

Sau khi đã xây dựng được hai hàm Inverse và hàm Next xác định cặp
vùng nền xuất phát và cặp vùng nền tiếp theo. Ta có thể chi tiết thuật toán tìm
chu tuyến ngoài của một đối tượng ảnh như sau:

Bước 1: Xác định hướng xuất phát dir bằng hàm Inverse, savedir=dir.
Bước 2: Nếu dir = 8 return vì điểm ảnh bị cô lập, không có láng giềng.
Bước 3: Tìm một hướng đi tiếp theo bằng hàm Next với hướng hiện tại
là dir và lưu lại điểm ảnh tương ứng với hướng này.
Bước 4: Nếu gặp lại điểm ảnh ban đầu và hướng đi hiện tại dir trùng với
hướng đi savedir ban đầu thì return.
Bước 5: Gán lại hướng đi hiện cho dir và quay lại bước 3.

CHƯƠNG II
MỘT SỐ KỸ THUẬT PHÁT HIỆN GÓC NGHIÊNG VĂN BẢN
2.1 Biến đổi Hough
Một phương pháp cơ bản mà chúng ta có thể mô tả các đối tượng bởi các
hàm toán học mà các hàm này miêu tả biên đường thẳng, đó là biến đổi
Hough; được phát hiện vào năm 1962 do Paul Hough phát minh. Mặc dù về
mặt lý thuyết các công thức toán học phức tạp có thể sử dụng được nhưng lại
đặt ra những yêu cầu tính toán có thực hiện được hay không.
2.1.1 Đường thẳng Hough
Với biến đổi Hough, phần lớn các thông tin trên cạnh ảnh không được
sử dụng và để chuyển sang một hình thức khác thì bước đầu tiên là sử dụng kỹ
thuật chọn ngưỡng. Bất kỳ điểm nào mà Gradient ở trên ngưỡng này thuộc về


20

biên, các điểm ảnh đó gọi là điểm cạnh. Kỹ thuật này là tốt cho hình ảnh có độ
tương phản cao nhưng làm giảm tính ứng dụng của nó. Biến đổi Hough là ánh
xạ một đường thẳng trong mặt phẳng thành các cặp (r, φ ) trong không gian
Hough với r là khoảng cách từ gốc tọa độ tới đường thẳng đó và φ là góc
nghiêng của đường thẳng đó so với trục tung. Xét đường thẳng trong mặt
phẳng tọa độ có phương trình:

y – m*x – c = 0

(2.1)

Trong đó m và c là 2 hằng số, nếu ta chọn một điểm trên mặt phẳng tọa
độ Đêcac (X, Y) nó có thể thuộc họ các đường được xác định bởi các giá trị
khác nhau của m và c. Một điểm (xi, yi) trong không gian Đêcac sẽ tương ứng
với hằng số m – c được cho bởi phương trình: yi – m*xi = c.
Vì vậy nếu mất một tập hợp các điểm trong không gian tọa độ điều này
tương ứng với một tập hợp các đường trong không gian m – c được thể hiện
trong hình 2.1:
C

Y

[x5,y5]
[x5,y5]
[x4,y4]
[x3,y3]

[x4,y4]

[x3,y3]
[x2,y2]

[x2,y2]

M
X


Điểm cạnh trong không gian ảnh
Đường thẳng trong không gian tham số
Hình 2.1: Biến đổi Hough cho đường thẳng

Nếu các điểm đó tạo thành đường kẻ, dễ thấy tất cả các đường gặp nhau
tại một điểm duy nhất, đó là điểm xác định góc nghiêng và khoảng cách từ
gốc tạo độ tới đường thẳng. Trong thực tế ta thường gặp nhiều đường, do đó
kỹ thuật này để chia nhỏ không gian m – c thành các khu vực nhỏ và đếm số


21

đường mà nó đi qua. Giá trị [m, c] tại tâm của mỗi khu vực với số đường
nhiều nhất được sử dụng để ước lượng đường đúng nhất trong không gian tọa
độ. Tuy nhiên nếu ta coi tất cả các đường có thể xuất hiện trong ảnh thì tham
số góc nghiêng m bao gồm một phạm vi vô hạn. Từ đó suy ra tham số [m, c]
là khó sử dụng.
Y

r = x cos(φ ) + ysin(φ )

r
φ

X

Hình 2.2: Tham số r – φ của đường thẳng

Một đường có thể được đại diện bằng khoảng cách ngắn nhất từ
gốc tọa độ tới đường thẳng (r) và góc nghiêng ( φ ). Từ hình 2.2 ta có thể có

được một phương trình cho các đường thẳng tương đương với phương trình
(1):
r = x cos(φ ) + y sin(φ )

(2.2)

Xét điểm (xi, yi) trong không gian r – φ ta thay:
M=

xi2 + yi2

,

cos(ϕ ) =

xi
y
,sin(ϕ ) = i
M
M

Ta đưa phương trình (2) về dạng:
r = M cos(ϕ ) cos(φ ) + M sin(ϕ )sin(φ )

= M cos(ϕ − φ )

Trong đó φ là hằng số không đổi. Vì vậy một điểm trong không gian
tọa độ cực tương ứng với hình sin trong không gian r- θ , và ta tìm điểm mà
đa số các đường sin này giao nhau (hình 2.3)



22

Y

R

1

Point 1
2

Point 2
Point 3

3
X

Biến đổi các điểm sang
Ước lượng các điểm giao nhau
đường hình sin trong không
trên phương trình đường thẳng
gian rHình 2.3: Biến đổi Hough trong không gian r-

Phương trình (2.2) có thể được xem là mối quan hệ giữa các tọa độ (x,
y) của một số điểm trên cạnh ảnh, và giá trị của các tham số [r, q] xác định
trên đường thẳng. Do đó ta phải lượng tử hóa các thông số vào các giá trị
không gian rời rạc, ưu điểm của tham số r-q là được lượng tử hóa một cách dễ
dàng. Nhìn vào hình 2.3 rõ ràng không phải tất cả các không gian tham số cần
được xem xét. Tất cả các hàm sin đều có chu kỳ giống nhau và do đó ta có thể

giới hạn q trong phạm vi [0, 2 π ] mà không mất tính tổng quát. Phạm vi có thể
được chia thành các góc và kí hiệu φi , 2θi ,3θi ,..., 2π , nó có thể giới hạn phạm vi
nhiều hơn cái mà ta đang xét đến r. Nếu cạnh của ảnh có độ phân giải nxm thì
không cần thiết xét giá trị của r lớn hơn M =

1
m 2 + n 2 , với θ ta có thể chia
2

phạm vi của r [0,…,rmax] thành một số bước rời rạc:


23

(0, ri, 2ri, 3ri,…, rmax)
Hình 2.3 cho thấy chỉ có giá trị dương của r cần được xem xét nếu ta
đang dùng φ trong phạm vi [0…2π].
Để xây dựng thuật toán xác định góc nghiêng văn bản, trước hết ta dùng
kỹ thuật dò biên để xác định chu tuyến cho các đối tượng ảnh. Các hình chữ
nhật chứa các đối tượng này được lưu lại cho các quá trình xử lý tiếp theo.
Dựa vào sơ đồ phân bố các kích thước của các đối tượng, xác định các
ngưỡng kích thước chủ đạo trong ảnh rồi dùng biến đổi Hough áp dụng cho
các điểm giữa đáy của hình chữ nhật ngoại tiếp các đối tượng này.Cuối cùng
góc nghiêng văn bản sẽ được ước lượng từ mảng tích lũy trong quá trình áp
dụng biến đổi Hough. Như vậy công việc đầu tiên cần thực hiện là xác định
được các hình chữ nhật ngoại tiếp các đối tượng hay nói cách khác là xác định
biên của đối tượng. Hình chữ nhật ngoại tiếp đối tượng sẽ được xác định ngay
sau khi dò biên cho đối tượng đó.

Hình 2.4: Các hình chữ nhật ngoại tiếp

đối tượng ảnh

2.1.2 Áp dụng biến đổi Hough xác định góc nghiêng văn bản
Dùng một mảng tích lũy để đếm số điểm ảnh nằm trên một
đường thẳng trong không gian ảnh, với chỉ số hàng cho biết góc lệch φ
của đường thẳng và chỉ số cột là r – khoảng cách từ gốc tọa độ tới
đường thẳng đó. Sau đó tính tổng số điểm ảnh nằm trên đường thẳng
song song nhau theo các góc lệch thay đổi. Góc nghiêng văn bản tương
ứng với góc có tổng giá trị mảng tích lũy cực đại. Mỗi đường thẳng
trong mặt phẳng tương ứng được biểu diễn bởi một cặp (r, φ ). Giả sử
có một điểm (x, y) trong mặt phẳng, vì qua mỗi điểm có vô số đường


24

thẳng, mỗi đường thẳng xác định được một cặp (r, φ ) thỏa mãn
phương trình Hough:
R1 = x.cos φ + y.sin φ

y

O
Hough[ φ ][r1] = 3

Hough[][r2] = 4

R2 = x.cos + y.sin
x

Hình 2.5 : Áp dụng biến đổi Hough phát hiện góc nghiêng văn

bản

Ta thấy trên mặt phẳng có hai đường thẳng song song nhau. Đường
thẳng thứ nhất có ba điểm ảnh nên giá trị mảng tích luỹ bằng 4, đường thẳng
thứ hai có giá trị mảng tích luỹ bằng 5. Do đó, tổng giá trị mảng tích luỹ cho
cùng góc φ trường hợp này bằng 9. Gọi Hough[2π][Max] là mảng tích lũy,
giả sử M và N tương ứng là chiều rộng và chiều cao của ảnh, ta có các bước
chính trong quá trình áp dụng biến đổi Hough phát hiện góc nghiêng văn bản
như sau:
Bước 1: Khai báo mảng chỉ số Hough[ φ ][r] với 0≤ φ ≤π và 0≤ r ≤ 2 π ,
0 ≤ r ≤ M 2 + N 2 . Gán giá trị khởi tạo bằng 0 cho các phần tử của mảng.

Bước 2: Với mỗi cặp (x, y) là điểm giữa đáy của hình chữ nhật ngoại tiếp
một đối tượng.
- Với mỗi φi từ 0 đến 2π tính giá trị φ i theo công thức
ri= x.cos φi +y.sin φi
- Làm tròn giá trị ri thành số nguyên gần nhất là r0
- Tăng giá trị của phần tử mảng Hough[ φi ][r0] lên một đơn vị.


25

Bước 3: Trong mảng Hough[ φ ][r] tính tổng giá trị các phần tử theo từng
dòng và xác định dòng có tổng giá trị lớn nhất.
Số phần tử của một phần tử mảng Hough[ φ 0][r0] chính là số điểm ảnh
thuộc đường thẳng x.cos φ 0+y.sin φ 0= r0 , vì vậy tổng số phần tử của một hàng
chính là tổng số điểm ảnh thuộc các đường thẳng tương ứng được biểu diễn
bởi góc φ của hàng đó. Do đó, góc nghiêng của văn bản chính là hàng có tổng
giá trị các phần tử mảng tích lũy lớn nhất.
2.1.3 Thuật toán phát hiện góc nghiêng văn bản

Thuật toán phát hiện góc nghiêng văn bản gồm các bước sau:
Bước 1:
Với mỗi điểm ảnh ta duyệt ảnh theo thứ tự từ trên xuống và từ trái qua phải.
- Nếu gặp một điểm vùng (x,y) chưa xét thực hiện các bước:
+ Áp dụng thuật toán xác định chu tuyến với đầu vào là (x,y) và màu tương
ứng.
+ Dùng hình chữ nhật ngoại tiếp kiểm tra nếu đối tượng có kích thước bình
thường, áp dụng biến đổi Hough cho điểm giữa đáy của hình chữ nhật.
- Nếu gặp một điểm đã xét, tìm một điểm ảnh trên cùng dòng có nhãn bằng
với điểm ảnh đang xét và tiến hành duyệt lại.
Bước 2:
Dựa vào kết quả của phép biến đổi Hough ước lượng góc nghiêng cho văn bản.
Bước 3:
Dựa vào góc nghiêng xác định được từ bước 2 áp dụng thuật toán quay ảnh.
Tuy nhiên, nếu áp dụng biến đổi Hough cho tất cả các đối tượng của ảnh,
thì thuật toán sẽ không chính xác hoặc là tốn nhiều thời gian thực hiện hoặc
cả hai. Vì Vậy chúng ta không áp dụng biến đổi Hough cho tất cả các đối
tượng sau khi tìm được chu tuyến của chúng mà loại những đối tượng có kích
thước kỳ lạ, hoặc là rất bé so với ký tự thường…..


×