LẤY ĐẶC TRƯNG THEO CẠNH

Một phần của tài liệu Phương pháp trích chọn đặc trưng cho bài toán nhận dạng chữ Nôm (Trang 27)

1) Tiền xử lý

3.1LẤY ĐẶC TRƯNG THEO CẠNH

Phương pháp lấy đặc trưng theo nét dựa vào 3 loại nét chính là nét ngang, nét đứng, nét xiên. Trong nét xiên lại phân ra 4 loại khác nhau là xiên trái 45 độ, xiên phải 45 độ, xiên trái 25 độ, xiên phải 25 độ. Phương pháp lấy đặc trưng theo nét sử dụng khung xương để xác định các cạnh của chữ. Khung xương được hiểu là trục chính của đối tượng ảnh. Để thu được khung xương ảnh dùng một số phương pháp để loại bỏ dần những điểm ảnh bên ngoài, chỉ lấy ngững điểm ảnh giữa của đối tượng ảnh. Hình 3.1 thể hiện một ví dụ lấy khung xương của chữ Nôm, trong đó hình a thể hiện chữ ban đầu, hình b thể hiện khung xương lấy được.

a. Ảnh gốc b. Khung xương ảnh

Hình 3.1. Ví dụ khung xương chữ Nôm

Trên khung xương thể hiện rõ những nét vẽ mà ta gọi là các cạnh. Mỗi nét có các thuộc tính gồm điểm đầu, điểm cuối và độ dài. Có ba loại nét trong khung xương là nét trong, nét ngoài và nét độc lập. Nét trong là

nét mà cả điểm đầu và điểm cuối đều là điểm giao với các nét khác; Nét ngoài là nét mà chỉ có một điểm (điểm đầu hoặc điểm cuối) là điểm giao với nét khác còn điểm còn lại là điểm tự do; Nét độc lập là nét mà cả điểm đầu và điểm cuối đều không phải là điểm giao với nét khác (đều thuộc điểm tự do). Trong các nét của chữ, nét có độ dài lớn hơn 1 điểm ảnh là nét rất bình thường, nhưng nét có độ dài bằng 1 điểm ảnh là nét đặc biệt vì nó có điểm đầu và điểm cuối trùng nhau. Những nét dạng này thường là nét thừa, cần chuẩn hóa chúng về nét lân cận hoặc loại bỏ nó.

Từ tập các nét của khung xương ta có được tập các điểm đầu, tập các điểm cuối để phục vụ việc tinh chỉnh và xác định các loại nét. Ngoài ra còn có tập các điểm tự do mà ta nhắc tới ở trên. Điểm tự do ở đây chính là điểm đầu hoặc điểm cuối của một nét nhưng không phải là điểm giao của nét. Từ tập các điểm tự do ta có thể định nghĩa lại các nét như sau:

- Một nét của chữ có điểm đầu và điểm cuối đều nằm trong danh sách điểm tự do (FreeEnd) thì nét đó là nét độc lập, không giao với nét khác;

- Một nét của chữ chỉ có điểm đầu hoặc điểm cuối thuộc danh sách điểm tự do thì nét đó là nét ngoài;

- Một nét mà cả điểm đầu và điểm cuối đều không thuộc danh sách điểm tự do thì nét đó là nét trong;

Hình 3.2 thể hiện các loại cạnh trong khung xương của chữ Nôm.

Ví dụ về nét: AB và BC là nét ngoài; BD là nét trong; EF là nét độc lập

Khung xương khi trích ra từ ảnh gốc thường có nhiều nét thừa, cần loại bỏ trước khi xử lý tiếp. Có nhiều cách để loại bỏ những nét thừa này, nhưng để đảm bảo không loại bỏ nhầm những nét không thừa ta căn cứ vào điểm đầu điểm cuối và độ dài của nét. Một nét được cho là thừa nếu cả điểm đầu và cuối của nó đều thuộc danh sách điểm tự do và độ dài của nó nhỏ hơn một giá trị nào đó (thường là 3 điểm ảnh). Hình 3.3 thể hiện những nét thừa bị loại bỏ trong khung xương, trong đó hình a là hình khung xương ban đầu, hình b là hình khung xương đã loại bỏ nét thừa.

a. Khung xương ban đầu b. Khung xương đã loại bỏ cạnh thừa

Hình 3.3.Ví dụ về loại bỏ các nét thừa của khung xương chữ Nôm

Khung xương sau khi loại bỏ nét thừa vẫn còn chứa các cạnh với những độ nghiêng khác nhau. Ngoài ra khung xương còn chứa các đường cong mà trên thực tế đường cong này có thể được biểu diễn bằng đường thẳng. Để chuẩn hóa các nét cong thành các nét thẳng ta sử dụng phương pháp xấp xỉ đa giác. Sử dụng thuật toán Douglas Peucker để thực hiện việc xấp xỉ này. Thuật toán Douglas-Peucker làm việc theo cách tìm khoảng cách lớn nhất từ đường cong tới đường thẳng nối hai đầu mút của đường cong xem có lớn hơn ngưỡng θ cho trước không, nếu lớn hơn thì điểm xa nhất trên đường cong được giữ lại làm điểm chia đường cong thành 2 đường cong mới, thuật toán được thực hiện tiếp với hai đường cong vừa tìm được. Cứ như vậy đến khi khoảng cách lớn nhất từ đường cong tới đường thẳng nối hai đầu mút của đường cong nhỏ hơn ngưỡng θ thì thuật toán dừng lại. Kết quả thu được là một đường cong mới với số điểm biểu diễn đã được giảm, tức là tạo thành một số cạnh thẳng. Hình 3.4 mô tả tư tưởng thuật toán xấp xỉ cạnh Douglas-Peucker. Hình 3.5 mô tả kết quả xấp xỉ đường con trong khung xương chữ Nôm, trong đó hình a là khung xương ban đầu, hình b là khung xương sau khi xấp xỉ.

Hình 3.4.Mô tả thuật toán dougtas-Peucker xấp xỉ nét

a. Khung xương chứa đường cong

b. Khung xương đã xấp xỉ đường cong thành đường

thẳng

Hình 3.5. Ví dụ về xấp xỉ đường cong của khung xương chữ Nôm

Sau khi xấp xỉ đa giác, thu được khung xương chữ gồm các nét đứng, ngang, xiên trái và xiên phải với các độ xiên khác nhau. Ta cần quy chúng về thành các nét ngang, đứng, xiên trái 450, xiên phải 450

, xiên trái 250, xiên phải 250

như sau:

- Nét ngang là các nét xiên so với trục hoành một góc từ -150 đến 150 (hình 3.6 a)

- Nét đứng là các nét xiên so với trục hoành một góc từ 750 đến 900 hoặc từ -750

đến -900 (hình 3.6 b)

- Nét xiên trái 450 là các nét xiên so với trục hoành một góc từ -500 đến -350

(hình 3.7 a)

- Nét xiên phải 450 là các nét xiên so với trục hoành một góc từ 350 đến 700

(hình 3.7 b)

- Nét xiên trái 250 là các nét xiên so với trục hoành một góc từ -350 đến -150 (adsbygoogle = window.adsbygoogle || []).push({});

- Nét xiên phải 250 là các nét xiên so với trục hoành một góc từ 150 đến 350 (hình 3.8 b) .a. Cạnh ngang (-150 đến 150) b. Cạnh dọc (750 đến 900 và -900 đến -750 )

Hình 3.6. Phân góc nét ngang và nét dọc của khung xương

a. Xiên trái 450 (-500 đến -350) b. Xiên phải 450 (350 đến 700)

Hình 3.7. Phân góc nét xiên 45 độ của khung xương

a. Xiên trái 250 (-350 đến -150) .b Xiên phải 250 (150 đến 350)

Hình 3.8. Phân góc nét xiên 25 độ của khung xương

Ta sử dụng thuật toán xác định góc của từng nét để tìm ra các nét này. Bởi khung xương có chứa những nét cùng phương, có điểm chung có thể ghép lại thành một nét. Có những nét quá ngắn, có thể loại bỏ mà không ảnh hưởng gì đến cấu trúc chữ, do vậy ta cần một bước chuẩn hóa nét nữa để ghép nét cùng loại và có điểm chung, xóa bỏ những nét ngắn không cần thiết (chẳng hạn như những nét ngoài có độ lớn <=3 pixel).

Sau khi hiệu chỉnh ta có được khung xương cuối cùng. Hình 3.9 mô tả kết quả đồng nhất cạnh và loại bỏ nét ngắn thừa trong khung xương.

a. Khung xương đã xấp xỉ cạnh b. Khung xương đã đồng nhất cạnh cùng loại và bỏ

cạnh ngắn

Hình 3.9. Ví dụ về khung xương loại bỏ nét ngắn sau khi xấp xỉ cạnh Từ khung xương này ta đưa ra các điểm giao (Junction point), các điểm cuối (Free End Point), các nét ngang (Horizontal edge), các nét đứng (Vertical edge), các nét xiên trái 450

(SL), các nét xiên phải 450 (SR), Xiên trái 250 (TL), xiên phải 250 (TR), đấy chính là đặc trưng theo nét của chữ Nôm

Một phần của tài liệu Phương pháp trích chọn đặc trưng cho bài toán nhận dạng chữ Nôm (Trang 27)