bản
Trong các chương trước, chúng ta đã tìm hiểu một số thuật toán phát hiện góc nghiêng văn bản theo các hướng tiếp cận khác nhau. Nhìn chung hầu hết các thuật toán chỉ làm việc tốt cho một số trường hợp ảnh đầu vào. Trong đó một số thuật toán chí chính xác với các ảnh đầu vào có góc lệch bé hoặc có kích thước bé, một số thuật toán không chính xác với những ảnh có ít ký tự chữ cái hoặc nhiều nhiễu, có những thuật toán dựa vào phông chữ và nhiều thuật toán có chi phí rất lớn.
Để xây dựng được thuật toán xác định góc nghiêng văn bản, trước hết ta phải 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
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 32
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
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 để phân loại các đối tượng và lựa chọn một số đối tượng có kích thước chủ đạo trong ảnh rồi dùng biến đổi Hough áp dụng cho các điểm đại diện là đ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 luỹ trong quá trình áp dụng biến đổi Hough.
3.1. Phát hiện góc nghiêng văn bản từ biên của đối tượng
Như đã nói ở các phần trên, góc nghiêng được xác định dựa vào biến đổi Hough. Và ở đây, ta chỉ áp dụng biến đổi Hough cho những điểm giữa đáy của hình chữ nhật ngoại tiếp các đối tượng có kích thước chủ đạo trong ảnh. 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ữ
Phưoìisphấp loại trừ ồ trống là phưoìig phắp cổ điển có từ thòi sơ khãi của ngành khoa học mấy tính ngày nay phương pháp nay không còn thích họp với hệ S0cựi thảo vẫn bẳn hiện đại. Trong các hệ thống hiện đại cắc chuỗi khoảng ứống lặp lại thì không bao giờ được lưu trữ, chúng được thay thế bởi ký tự Tab, nếu cắc chuỗi khoảng trống lặp lại ở vị trí bắt đầu hay kết thúc của một dòng thì sẽ được thay thế bằng cách dùng cắc dấu hiệu cuối dòng.
Phương pháp loại trừ ô trống chỉ ắp dụng đối vói tệp vãn bản và chỉ đạt hiệu quả khi dầy có không dưóỉ 3 ô trống. Phương pháp này đạt tỷ lệ nén từ 30%+50%.
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 33
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
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.
Trong các chương trước chùng ta đã đề cập tới biên của một đối tượng ảnh và các phương pháp xác định biên, ở đây, chúng ta dùng thuật toán dò biên tổng quát để xác định biên cho các đối tượng trong ảnh văn bản. 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 3: ví dụ về một văn bản nghiêng
Trong cài đặt, các hình chữ nhật ngoại tiếp là những bản ghi hay cấu trúc gồm các trường top, lef, bot và rig tương ứng sẽ cho biết các toạ độ trên, trái, dưới và phải của một đối tượng ảnh hay chính xác là toạ độ các điểm biên của đối tượng đó. Giá trị của các trường này được xác định trong quá trình xây dựng các điểm biên. Như vậy mỗi khi dò xong biên cho một đối
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 34
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
tượng ảnh, ta được một hình chữ nhật ngoại tiếp đối tượng ảnh đó và điểm giữa đáy của hình chữ nhật sẽ được xác định từ các giá trị top, lef, bot, rig tương ứng.
3.2. Biến đổi Hough và phát hiện góc nghiêng văn bản 3.2.1 Đường thẳng Hough trong toạ độ cực
Mỗi đường thẳng trong toạ độ cực được xác định bởi cặp (r, (p) như hình vẽ
Giả sử (x,y) là một điểm thuộc đường thẳng thì ta tìm công thức ràng buộc giữa X, y, r và (p.
Ta có:
r = (m + y). sinọ Mặt khác ta
có:
tg(p = x/m
<=> sincp / cosọ = x/m <^> m.sincp
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 35
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
Do đó ta có mối liên hệ giữa ( X, y ) và (r, (p ) như sau : r = x.coscp +
y.sintp
Như vậy, nếu N điểm (x0, y0) nằm trên một đường thẳng thì ta có phương trình : r = x0.coscp0 + y0.sincp0 , mọi i = 0...n
Biến đổi Hough ánh xạ N điểm này thành N đường sin trong toạ độ cực mà các đường này đều đi qua (r0, cp0). Giao điểm (r0, cp0 ) của N đường sin sẽ xác định một đường thẳng trong mặt phẳng. Như vậy, những đường thẳng đi qua điểm (x,y) sẽ cho duy nhất một cặp (r, cp ) và có bao nhiêu đường qua (x,y) thì có bấy nhiêu cặp giá trị (r, (p).
3.2.2 áp dụng biến đổi Hough trong phát hiện góc nghiêng văn bản
ý tưởng của việc áp dụng biến đổi Hough trong phát hiện góc nghiêng văn bản là dùng một mảng tích luỹ để đếm số điểm ảnh nằm trên một đường thẳng trong không gian ảnh. Mảng tích luỹ là một mảng hai chiều với chỉ số hàng của mảng cho biết góc lệch (p của một đường thẳng và chỉ số cột chính là giá trị r, khoảng cách từ gốc toạ độ 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 luỹ cực đại.
Theo biến đổi Hough, mỗi một đường thẳng trong mặt phẳng tương ứng được biểu diễn bởi một cặp (r, (p). Giả sử ta có một điểm ảnh (x,y) trong mặt phẳng, vì qua điểm ảnh này có vô số đường thẳng, mỗi đường cho một cặp (r, (p) nên với mỗi điểm ảnh ta sẽ xác định được một số cặp (r, (p) thoả mãn phương trình Hough.
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 36
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
Hình 5: ứng dụng biến đổi Hough trong phát hiện gốc nghiêng
Nhìn vào hình trên cho ta thấy, đây là cách minh hoạ dùng biến đổi Hough để phát hiện góc nghiêng văn bản. Giả sử ta có một số điểm ảnh, đây là những điểm giữa đáy hình chữ nhật ngoại tiếp các đối tượng đã được lựa chọn từ những bước trước, ở đây ta thấy, trên mặt phẳng có hai đường thẳng song song nhau. Đường thứ nhất có 3 điểm ảnh lên giá trị mảng tích luỹ bằng 3, đường thẳng thứ hai có 4 điểm ảnh lên giá trị mảng tích luỹ bằng 4. Do đố, tổng giá trị mảng tích luỹ cho cùng góc (p trong trường hợp này bằng 7.
Gọi Hough[360][max] là mảng tích luỹ, 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 dùng biến đổi Hough để xác định góc nghiêng văn bản như sau:
Bước 1: Khai báo mảng chí số Hough[cp][r] với 0° < (p < 360° X
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 37
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
0 < r < VM2 + N2
Gán giá trị 0 cho tất cả các phần tử mảng.
Bước 2: Với mỗi điểm (x, y) là điểm đáy của hình chữ nhật ngoại tiếp đối tượng : - Với mỗi cpi từ 0 đến 360 tính giá trị ĩj theo công thức
Rj = X.COSCP; + y.sintpi
- Làm tròn giá trị 1'ị thành số nguyên gần nhất là r0
- Tăng giá trị của phần tử mảng Houghtọ^Ịro] lên một đơn vị.
Bước 3: Trong mảng Hough[(p][r], tính tổng giá trị các phần tử theo từng hàng và góc nghiêng văn bản tương ứng hàng có tổng giá trị lớn nhất.
Do số phần tử của một phần tử mảng Hough[cp0][r0] chính là số điểm ảnh thuộc đường thẳng r0 = x.coscpo + y.sincpo 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 biển bởi góc cp của hàng đó. Do đó, góc nghiêng của văn bản tương ứng là hàng có tổng giá trị các phần tử mảng tích luỹ lớn nhất.
3.3. Chỉnh sửa góc nghiêng văn bản
Sau khi xác định được góc nghiêng cho toàn văn bản. Để chỉnh sửa góc nghiêng cho văn bản ta quay lại ảnh với độ lệch đó. Quay ảnh là một trong những kỹ thuật phổ biến trong mọi hệ thống xử lý ảnh. Thuật toán quay ảnh đơn giản là chuyển một điểm ảnh (x,y) từ ảnh ban đầu thành điểm ảnh mới có toạ độ (x,, y,) trong ảnh kết quả với Xị,y, được xác định theo công thức:
X! = x.cosíp + y.sincp Yj =
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 38
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
Hình 6: Quay một điểm ảnh quanh gốc toạ độ
Tuy nhiên một vấn đề kinh điển trong kỹ thuật quay ảnh mà bất kỳ hệ thống xử lý ảnh nào cũng gặp phải là giải quyết những lỗ hổng hay những điểm không được gán màu trong ảnh kết quả trong quá trình quay. Lý do dẫn đến sự xuất hiện những lỗ hổng chính là tứ công thức quay ảnh. Do phải làm tròn các giá trị thành số nguyên nên trong ảnh đích có một số điểm ảnh không tương ứng được ánh xạ từ ảnh gốc sang những lỗ hổng.
Để giải quyết vấn đề lỗ hổng, ta duyệt ảnh đích ta gán màu cho chúng dựa vào màu của các láng giềng. Với ảnh đen trắng, các lỗ hổng được gán màu đen.
3.4 Thuật toán phát hiện góc nghiêng văn bản
Về cơ bản thuật toán phát hiện góc nghiêng văn bản gồm các bước chủ yếu sau:
Bước 1: Duyệt ảnh theo thứ tự từ trên xuống và từ trái qua phải, với mỗi điểm ảnh. ❖ 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ó có kích thước bình thường áp dụng biến đổi Hough cho điểm giữa 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 đanh xét và tiến hành duyệt lại từ đây.
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 39
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
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
Xác định các đối tượng ảnh và hình chữ nhật chứa nó
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 40
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
sau khi tìm được chu tuyến của chúng mà loại ra 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...
9 Anh gốc Dò biên Hệ thống Mở tệp Đóng tệp Thoát Chỉnh văn bản
Quay ngược kim đồng hồ Quay cùng chiều kim đồng hồ Phóng to ảnh Thu nhỏ ảnh Làm béo Làm gầy Tăng độ sáng Giảm độ sáng
Cao Thị Thu Thuỷ -Khoa CNTT- Đại học dân lập Hải Phòng 41
Xác định góc nghiêng vàn bản Đồ án tốt nghiệp
Chương 4