Phƣơng pháp đƣờng thẳng

Một phần của tài liệu 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 (Trang 46 - 72)

Để giảm chi phí tính toán của các phƣơng pháp trên, một phƣơng pháp phát hiện góc nghiêng khác đƣợc đề xuất. Phƣơng pháp này lấy điểm trung tâm dƣới cùng của một thành phần kết nối nhƣ là một điểm chủ đạo. Các điểm chủ đạo này trên cùng một văn bản có thể đƣợc chia thành hai thành phần theo quan hệ láng giềng. Hầu hết các điểm chủ đạo nằm trên cùng một đƣờng thẳng, đƣợc gọi là đƣờng cơ sở trong khi đó chỉ có một vài điểm ngoại lệ nằm dƣới đƣờng đó. Vì vậy các điểm chủ đạo thuộc phần trƣớc đó đƣợc chọn làm mẫu cho các đƣờng thẳng phù hợp để tính theo hƣớng cơ bản tƣơng

39

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

ứng với góc nghiêng của toàn bộ ảnh văn bản. Để giảm thời gian tính toán chỉ có một vùng văn bản thuần túy trong toàn bộ ảnh văn bản đƣợc lựa chọn.

Các phƣơng pháp truyền thống sử dụng phép biến đổi thời gian để chỉnh sửa góc nghiêng ảnh văn bản. Trong phần này, khái niệm về mô hình quét dòng văn bản đƣợc miêu tả. Khoảng cách thẳng góc của đƣờng nằm ngang và một đƣờng thẳng đứng của mỗi điểm ảnh đƣợc sử dụng trong các thủ tục hiệu chỉnh ảnh văn bản, sau đó tốc độ có thể đƣợc cải thiện đáng kể. Các thí nghiệm đã chứng minh rằng thông qua các phƣơng pháp tiếp cận đƣợc đề xuất có thể cải thiện tốc độ, giảm chi phí tính toán và đạt đƣợc độ chính xác cao hơn.

2.5.1 Tư tưởng thuật toán phát hiện góc nghiêng văn bản

2.5.1.1 Chọn các miền xác định và các đối tượng

Dòng văn bản trong một tài liệu thƣờng là các đƣờng thẳng song song với nhau theo hƣớng nằm ngang và khoảng cách giữa các dòng văn bản lân cận là tƣơng đối cố định. Khi quét từng điểm ảnh trong toàn bộ văn bản là tốn thời gian, nhƣng lại thích hợp cho sự lựa chọn một vùng văn bản phù hợp với việc tính theo hƣớng của dòng văn bản tƣơng ứng với góc nghiêng của ảnh văn bản. Trong quá trình quét ảnh văn bản, có thể có một số vệt đen và nó không chỉ ảnh hƣởng đến độ chính xác của thuật toán mà còn làm tăng cả chi phí tính toán. Để tránh những hiệu ứng của vệt đen có thể gây ra, các cạnh của ảnh văn bản không đƣợc tính đến trong vùng đƣợc lựa chọn. Hơn nữa kích thƣớc của vùng nên đƣợc lựa chọn một cách cẩn thận để đạt đƣợc tốc độ cao hơn và độ chính xác tốt hơn. Vùng đƣợc lựa chọn R phải thỏa mãn các điều kiện sau:

R = {(x, y) | w1≤ x ≤ w2; h1 ≤ y ≤ h2; (w2 – w1) ≥ n wc ; (h2 – h1) ≥ k.Th} (2.3) Trong đó Wc là trung bình độ rộng của các ký tự chữ và số

40

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

W là độ rộng của ảnh văn bản và chiều cao là H Đƣờng biên bên trái của vùng là w1 = w/3 Đƣờng biên bên phải của vùng là w2 = w*2/3 Đƣờng biên phía trên là h1 = H/3 và

Đƣờng biên phía dƣới là h2 = H*2/3

Số các thành phần liên thông trên n dòng văn bản phải vƣợt quá 10 và số dòng văn bản trong vùng k phải lớn hơn 3. Nếu vùng lựa chọn R có các nội dung không phải là văn bản chẳng hạn nhƣ nhiễu, ảnh, …. thì cần phải lựa chọn lại theo biểu thức (2.3) cho đến khi một vùng văn bản thuần túy đƣợc tìm thấy. Điều này có thể đƣợc quyết định sau khi phân tích các đặc tính của các thành phần liên thông trong R.

2.5.1.2 Lựa chọn các đối tượng

Đƣờng biên của mọi thành phần liên thông đƣợc tạo ra trƣớc tiên. Và từ một đặc điểm hay nhiều đặc điểm nằm trên đƣờng biên đƣợc coi nhƣ là một đối tƣợng. Theo thống kê, hầu hết đáy của các đối tƣợng chữ số nằm trên đƣờng cơ sở chẳng hạn „A‟, „s‟, „x‟, … chỉ có ít đối tƣợng chữ nằm trên đƣờng cơ sở ví dụ „p‟, „q‟. Kích thƣớc của các đối tƣợng đánh dấu chấm câu nhỏ hơn so với chữ số. Để loại bỏ những ảnh hƣởng xấu của dấu chấm câu, chỉ có các đối tƣợng đáp ứng các điều kiện sau đây có thể đƣợc chọn làm đối tƣợng cho các thuật toán phát hiện nghiêng:

C = {Ci / W(Ci ≥ Dw  H(Ci) ≥ Dh, 1 ≤ i ≤ k}

Trong đó C là tập hợp các đối tƣợng cho thuật toán phát hiện góc nghiêng. W(Ci) và H(Ci) tƣơng ứng với chiều rộng và chiều cao đƣờng biên của đối tƣợng Ci tƣơng ứng.

Di là ngƣỡng chiều rộng của hình chữ nhật ngoại tiếp đối tƣợng. Dh là ngƣỡng chiều cao của hình chữ nhật ngoại tiếp đối tƣợng. k là số các đối tƣợng tham gia.

41

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.5.2 Bó cụm điểm chủ đạo

2.5.2.1 Định nghĩa

Định nghĩa 1: Điểm chủ đạo của một đối tƣợng là điểm giữa đáy của hình chữ nhật ngoại tiếp một đối tƣợng.

Định nghĩa 2: Nhóm điểm chủ đạo là một nhóm chứa tất cả các điểm chủ đạo trên cùng một dòng văn bản.

Định nghĩa 3: Hƣớng giữa các điểm chủ đạo lận cận Pi(xi, yi) và Pi+1(xi+1, yi+1) đƣợc định nghĩa là:

1 1 1 ( ) i i i i i i i y y x x x x        

Hình 2.14a. Định nghĩa điểm chủ đạo Hình 2.14b. Định hƣớng góc nghiêng Định nghĩa 4: Định hƣớng góc nghiêng trên các đoạn thẳng liền kề 1

i i

P P đến PPi i1đƣợc định nghĩa là (0o 2 )

i i (adsbygoogle = window.adsbygoogle || []).push({});

    (hình 2.14a, 2.14b).

Trong các thuật toán phát hiện góc nghiêng, định hƣớng các góc phải đƣợc đảm bảo. Có ba khả năng về định hƣớng góc:

i)Nếu Pi+1 nằm trên đƣờng thẳng của P Pi1 i, | ii1|< , góc lệchilà khoảng 180o (i~1800).

ii) Nếu Pi+1 nằm phía trên của đƣờng thẳng P Pi1 i, | ii1|> , góc

lệchi<1800.

iii) Nếu Pi+1 nằm ở phía dƣới đƣờng P Pi1 i , | ii1|< - , góc lệch i>1800. Xét các tính chất của các điểm chủ đạo, một thuật toán đƣợc chọn để đơn giản hóa việc tính toán các góc lệch.

Hình chữ nhật ngoại tiếp Điểm chủ đạo Pi-1 Pi-1 Pi+1 Pi i

42

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2.5.2.2 Phân cụm các điểm chủ đạo

Trong một vùng văn bản tuần túy có những dòng văn bản song song, các điểm chủ đạo trong các dòng chữ là khác nhau, có thể chia thành các nhóm điểm chủ đạo khác nhau trong không gian ngƣỡng Th. Dƣới đây là các thủ tục:

Bƣớc 1: Khởi tạo điểm chủ đạo, không có trong bất kỳ nhóm nào và đặt k=0. Bƣớc 2: Chọn vùng R, nếu điểm trên cùng bên trái Pi(xi, yi) không có trong bất kỳ nhóm nào, đặt k++ và đƣa Pi vào nhóm điểm chủ đạo mới G(k).

Bƣớc 3: Với diện tích hình chữ nhật {(xi, yi – Th/h), (w2, yi + Th/2)} nếu điểm tận cùng bên trái Pj(xj, yj) không có trong bất kỳ nhóm nào đƣợc tìm thấy, đƣa Pj vào G(k) và đặt Pi = Pj (xi=xj, yi=yj).

Lặp lại bƣớc này cho đến khi tất cả các điểm chủ đạo thuộc một nhóm nào đó trong hình chữ nhật này.

Bƣớc 4: Quay lại bƣớc 2 cho đến khi tất cả các điểm chủ đạo trong vùng R đã đƣợc đƣa vào các nhóm khác nhau.

Để xác định xem có vùng nào chứa nội dung không phải là văn bản, độ nghiêng của mỗi nhóm đƣợc tính toán. Và độ nghiêng dùng để chỉ độ nghiêng trung bình giữa hai điểm chủ đạo trong mỗi nhóm. Nếu độ nghiêng tƣơng ứng với mỗi nhóm là gần đúng thì các vùng chỉ bao gồm nội dung văn bản thuần túy, nếu không vùng đó có thể bao gồm nội dung phi văn bản. Vì vậy trong trƣờng hợp này một thủ tục đƣợc chọn để tìm vùng văn bản thuần túy cho phù hợp. Trong vùng này, hƣớng của đƣờng cơ sở tƣơng ứng với mỗi nhóm có thể đƣợc tính và giá trị trung bình của chúng là gần đúng với góc nghiêng của toàn bộ ảnh văn bản.

2.5.3 Lựa chọn đường cơ sở

43

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Sau khi loại bỏ các đối tƣợng có dấu chấm câu, phần còn lại của điểm chủ đạo trong một nhóm có thể đƣợc chia thành hai phần. Phần lớn chứa các điểm trên đƣờng cơ sở, phần nhỏ hơn bao gồm các điểm chủ đạo bên dƣới đƣờng cơ sở.

Cho Pi-1(xi-1, yi-1); Pi(xi, yi) và Pi+1(xi+1, yi+1) (xi-1 < xi < xi+1, i = 2,…,n-1) là các điểm láng giềng trong cùng nhóm (Hình 2.16), sẽ tồn tại ba khả năng:

i) Nếu 0

180

i

  , i1i, Pi-1, Pi và Pi+1 phải đƣợc biểu diễn cùng một trạng thái hoặc trên đƣờng cơ sở hoặc dƣới đƣờng cơ sở.

ii) Nếu 0

180

i

  , Pi phải nằm trên đƣờng cơ sở. (adsbygoogle = window.adsbygoogle || []).push({});

iii) Nếu 0

180

i

  , Pi phải nằm ở dƣới đƣờng cơ sở.

Ý tƣởng chính của thuật toán phát hiện góc nghiêng văn bản ở đây là tìm các trạng thái có thể có của mọi điểm chủ đạo trong một nhóm và làm cho các điểm này thỏa mãn một điều kiện nhất định làm mẫu cho phù hợp với đƣờng cơ sở. Có ba trạng thái có thể có của một điểm chủ đạo: „Null‟, „on L‟, „not on L‟. Với điều kiện nhất định, trạng thái của điểm chủ đạo ở tận cùng bên trái hoặc tận cùng bên phải có thể không đƣợc xác định. Nhƣng điều đó * * * * * * * * * * * * * * * * * * * * * *

Đƣờng cơ sở Điểm chủ đạo

Hình 2.15: Điểm chủ đạo trên dòng văn bản

Pj Pi Pk Pl Pt-1 Pt Pl+1 Pk-1 Pj+1 Đƣờng cơ sở

44

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

không quan trọng vì hầu hết các điểm chủ đạo trên đƣờng cơ sở đƣợc phát hiện.

2.5.3.2 Xác định đường thẳng sử dụng phương pháp bình phương nhỏ nhất

Hƣớng đƣờng cơ sở là phép đo góc nghiêng cho ảnh văn bản, một đƣờng cơ bản là một đƣờng thẳng liên tục, biểu thức hàm số có thể đƣợc miêu tả nhƣ sau: f x( ) :y  bx. Hƣớng của góc tƣơng ứng trên đƣờng cơ sở là

1 tan b    ( ) , ( 1, 2,...., ) i i i i i d  yx   y a bx iN (2.4) Phƣơng pháp bình phƣơng nhỏ nhất đƣợc sử dụng trong đƣờng thẳng thích hợp là gần đúng với đƣờng cơ sở. Ý tƣởng cơ bản của phƣơng pháp này đƣợc miêu tả nhƣ sau: Cho một tập các điểm dữ liệu, một hàm tuyến tính

( )x a bx

   đƣợc giả thiết tồn tại giữa biến phụ y và biến độc lập x. Tập hợp các phần tử độc lập N, tức là N điểm chủ đạo: (x1, y1), (x2, y2), …, (xN, yN). Độ lệch của điểm chủ đạo thứ i là T0 gần đúng với hầu hết các đƣờng thẳng có những điểm cần giảm tối thiểu của tất cả độ lệch, nhƣng điều này là không thể vì độ lệch âm làm giảm độ lệch dƣơng. Do đó tổng các bình phƣơng độ lệch đƣợc áp dụng bằng cách cực tiểu hóa hàm D: 2 2 1 1 1 1 ( , ) ( ( )) ( ) 2 ( ) 2 ( ) N N i i i i i i N i i i N i i i i D a b y x y a bx D y a bx a D y a bx x b                                      

Vì vậy, lấy đạo hàm đƣờng chéo của hàm D với các tham số a và b đƣợc lấy bởi hai đạo hàm mang giá trị nhỏ nhất tức là bằng 0. Kết quả là:

(2.5)

45

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

2 1 1 1 1 2 2 1 1 1 1 1 2 2 1 1 ( ) ( ) N N N N i i i i i i i i i N N i i i i N N N i i i i i i i N N i i i i y x x y x a N x x N y x x y b N x x                                                      

Đƣờng cơ sở có thể đƣợc cho bởi công thức (2.7): ( )x  a bx, góc

nghiêng của đƣờng cơ sở là: 1

tan b

   .

2.5.4 Thuật toán phát hiện góc nghiêng

2.5.4.1 Thuật toán định hướng góc nghiêng đơn giản

* Input: Cho 3 điểm láng giềng Pi-1, Pi và Pi+1 (xi-1 < xi <xi+1) * Output: Xác định góc nghiêng i

Hình 2.17: Định hƣớng thuật toán phát hiện góc nghiêng Bƣớc 1: Tính ∆xi = xi+1 - xi

∆yi = yi+1 - yi ∆xi-1 = xi – xi-1 ∆yi-1 = yi – yi-1 (adsbygoogle = window.adsbygoogle || []).push({});

n = ∆xi/∆xi-1;

Bƣớc 2: Tính ∆x‟ = ∆xi - n∆xi-1 với ∆x‟ < ∆xi-1 ∆y‟ = ∆yi - n∆yi-1

Bƣớc 3: Chọn W = 1/ =16 và xác định giá trị của k sao cho:

(2.7) Pi+1 Pi-1 ∆yi ∆x‟ ∆yi-1 ∆xi Pi ∆y‟

46

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

  1 1 1 ' (k i ,k i , 0,1,..., 1 ) x x x k W WW         (Lý do chọn W = 16 không những

đảm bảo độ chính xác ở mức độ nhất định mà còn làm cho phép toán thay đổi thích hợp. Kết quả là làm giảm thời gian xử lý một cách đáng kể).

Bƣớc 4: Xác định hƣớng góc nghiêng i) Nếu y' (k yi 1,k 1 yi1), i i 1 WW           ; output 0 180 i   ii) Nếu y' (k yi 1,k 1 yi 1), i i 1 WW           ; output 0 180 i   iii) Nếu y' (k yi 1,k 1 yi 1), i i 1 WW            ; output 0 180 i   2.5.4.2 Thuật toán chính

* Input: Điểm chủ đạo trong nhóm đƣợc sắp xếp theo thứ tự từ trái sang phải G(k) = {P1, P2, …,Pnk}, k = 1, …, m (m là số nhóm điểm chủ đạo) và Pi(xi, yi), Pi+1(xi+1, yi+1), xi < xi+1 (i=1,…, nk – 1)

* Output: Góc nghiêng 

Bƣớc 1: Khở tạo k = 1

Bƣớc 2: Khởi tạo i = 2, và biểu diễn tập hợp mỗi điểm trong G(k) = „Null‟. Bƣớc 3: Tính hƣớng góc nghiêng i(sử dụng thuật toán xác định hƣớng góc nghiêng)

i) Nếu 0

180

i

  , Pi-1, Pi và Pi+1 cùng trạng thái hoặc là trên L hoặc không trên L. Nếu Pi-1 đã biết, Pi và Pi+1 có thể đƣợc xác định và thiết lập đƣợc. Mắt khác, trạng thái tƣơng ứng của chúng không xác định đƣợc và mang giá trị „Null‟

ii) Nếu 0

180

i

  thì Pi = L; nếu giá trị Pi = 0, quay lại thiết lập điểm láng giềng Pl (l = i-1,…, t, t>0) với giá trị „Null‟  L cho đến khi điểm đầu tiên Pt-1 ở trạng thái khác đƣợc thỏa mãn.

47

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

iii) Nếu 0

180

i

  , Pi  L, nếu Pi = „Null‟ quay lại thiết lập điểm láng giềng Pl (l= i-1, …, t, t>0) khởi tạo giá trị „Null‟  cho đến khi điểm đầu tiên Pt-1 ở trạng thái khác đƣợc thỏa mãn.

Bƣớc 4: i = i+1 và quay lại bƣớc 3 cho đến khi i ≥ nk. Bƣớc 5:

Nếu mỗi điểm trong G(k) khởi tạo bằng Null, thiết lập trạng thái trên L Bƣớc 6: Thực hiện tất cả các điểm trên L để làm mẫu và dùng biểu thức (2.7) của phƣơng pháp bình phƣơng tối thiểu để tính hƣớng của đƣờng cơ sở k. Bƣớc 7: k = k+1, và quay lại bƣớc 2 cho đến khi tất cả các điểm trong nhóm đƣợc xét đến (k>m).

Bƣớc 8: (adsbygoogle = window.adsbygoogle || []).push({});

Tính giá trị trung bình của k(k= 1, 2, .., m) là 1 ( ) m k k m    , góc nghiêng của ảnh văn bản là 1 tan ( )     .

2.5.5. Thuật toán sửa góc nghiêng

2.5.5.1 Mô hình quét dòng văn bản

Kích thƣớc của ảnh văn bản là WxH và góc nghiêng là , một đƣờng thẳng AB với góc nghiêng có thể đƣợc biểu diễn gần đúng bởi một vài đoạn nằm ngang với tọa độ y liên tục thay đổi do một điểm ảnh (Hình 2.18)

Hình 2.18: Mô hình quét dòng văn bản A

W

Si

B

48

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Khoảng cách theo phƣơng thẳng đứng Yoff = [W* tan] (trong đó [x] biểu diễn số nguyên nhỏ nhất nhỏ hơn x). Để tính toán đơn giản, chiều rộng của mỗi

Một phần của tài liệu 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 (Trang 46 - 72)