Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản
Tìm hiểu thuật toán phát góc nghiêng văn MỤC LỤC Trang phụ bìa Nhiệm vụ luận văn Mục lục Tóm tắt luận văn Danh mục ký hiệu Danh mục bảng Danh mục hình vẽ DANH MỤC CÁC BẢNG Bảng 2.1: so sánh kết độ nghiêng văn quét tài liệu khác tính toán góc ban đầu sử dụng phương pháp Base – point …………………………13 Bảng 2.2: so sánh kết độ nghiêng văn quét tài liệu khác tính toán góc ban đầu sử dụng phương pháp Scanline …………………………26 Tìm hiểu thuật toán phát góc nghiêng văn DANH MỤC CÁC HÌNH VẼ Hình 1.1: Các giai đoạn xử lý ảnh Hình 2.1: Hộp bao quanh điểm sở ký tự 12 Hình 2.2: Quét tài liệu từ sách với phương pháp Base – poin 14 Tìm hiểu thuật toán phát góc nghiêng văn Hình 2.3: Ảnh quét từ thi với phương pháp Base – point 15 Hình 2.4: Ảnh quét từ danh mục điện thoại với phương pháp Base – point 16 Hình 2.5: Ảnh quét từ danh mục điện thoại với phương pháp Base – point 17 Hình 2.6: Quét tài liệu từ sách với phương pháp scanline 22 Hình 2.7: Ảnh quét từ thi với phương pháp scanline 23 Hình 2.8: Ảnh quét từ danh mục điện thoại với phương pháp scanline 24 Hình 2.9: Ảnh quét từ danh mục điện thoại với phương pháp scanline 25 Hình 2.10: Đại diện dòng bình thường 28 Hình 3.1: Đường thẳng Hough tọa độ cực 38 Hình 4.1: Biến đổi Hough phát góc nghiêng 41 Hình 4.2: Giao diện chương trình 42 Tìm hiểu thuật toán phát góc nghiêng văn MỞ ĐẦU Ngày nay, thịnh hành máy tính cá nhân, phương tiện làm cho kỹ thuật chế điện tử trở nên vô phổ biến, số lượng tài liệu lưu trữ giấy tăng đến số lượng đáng kể Hàng tỷ tỷ trang giấy tạo năm nhiều hình thức khác sách, tạp chí, tin, báo, thư từ, biểu mẫu, bảng ghi nhớ, … khắp giới Mặc khác, việc lưu trữ, phân phối, phục hồi thông tin giấy công việc đòi hỏi nhiều công sức, chí thực cách thủ công Trong quét văn bản, bị nghiêng không tránh khỏi văn in, viết tay, văn hình ảnh… Phát độ nghiêng vấn đề áp dụng để quét văn chuyển đổi liệu sang dạng số Một hệ thống xử lý ảnh văn thường phải giải toán phát góc nghiêng bước tất yếu công đoạn tiền xử lý Chính vậy, với phát triển xử lý ảnh nói chung xử lý, nhận dạng văn nói riêng, toán phát góc nghiêng văn quan tâm ngày nhiều nhiều góc độ khác Có nhiều hướng tiếp cận toán như: thuật toán dựa vào phân tích hình chiếu, phân tích láng giềng, biến đổi Hough, phương pháp dùng phép toán hình thái, biến đổi Fourier… Sử dụng biến đổi Hough phát góc nghiêng văn kỹ thuật phân biệt tốt ký tự chữ đối tượng Tìm hiểu thuật toán phát góc nghiêng văn chữ nhiễu, đối tượng đồ hoạ, đường thẳng… độ xác kỹ thuật cải thiện Xuất phát từ yêu cầu trên, chúng em chọn đề tài nghiên cứu: “tìm hiểu thuật toán phát góc nghiêng văn bản” Các thuật toán phát độ nghiêng thực Bước quét dòng phát độ nghiêng Trong phương thức này, hình ảnh ước lượng nhiều góc cạnh phương sai số lượng điểm ảnh màu đen ước lượng dòng xác định Các góc mà phương sai lớn tìm thấy góc nghiêng Bước thứ dựa biến đổi Hough Biến đổi Hough thực ảnh văn quét phương sai giá trị tính toán cho giá trị Góc mà cho giá trị phương sai lớn góc nghiêng Bước thứ dựa phương thức base-point Sau Base-point liên tiếp dòng văn khoảng thời gian thích hợp vùng chọn làm mẫu cho khớp đường thẳng Tỷ lệ trung bình đường tính toán, tương ứng với mức độ nghiêng toàn văn hình ảnh Tìm hiểu thuật toán phát góc nghiêng văn Chương ĐẶT VẤN ĐỀ 1.1 Bài toán xử lý văn ứng dụng thực tế Con người thu nhận thông tin qua giác quan, thị giác đóng vai trò quan trọng Con người sử dụng hệ thống thị giác để xem có thông tin mà thị giác thu được, cảm nhận xử lý hiểu sau suy kết luận từ việc cảm nhận thông tin Các lĩnh vực xử lý ảnh tập trung vào tự động hoá trình thu tập xử lý thông tin thị giác Quá trình tiếp nhận phân tích thông tin thị giác máy tính kỹ thuật số gọi xử lý ảnh kỹ thuật số Một ảnh mô tả hàm chiểu I: (1.1) Trong đó: x y toạ độ không gian Biên độ f cặp toạ độ (x,y) gọi cường độ I giá trị màu xám ảnh Khi toạ độ không gian giá trị biên độ, số lượng hữu hạn rời rạc Ảnh gọi ảnh số Xử lý ảnh số phân thành nhánh khác dựa • • định nghĩa Đầu vào ảnh Đầu vào hình ảnh mà kết đầu trích chọn từ thuộc tính hình ảnh Sau danh sách chức xử lý khác dựa hình ảnh hai lớp Tìm hiểu thuật toán phát góc nghiêng văn • • • • • • • • • • Hình ảnh thu nhận Nâng cao hình ảnh Hình ảnh phục hồi Xử lý màu hình ảnh Chế độ đa phân giải Nén Xử lý hình thái học Phân đoạn Đại diện mô tả Đối tượng nhận dạng Đối với bảy chức đầu vào đầu hình ảnh nơi mà phần lại đầu thuộc tính từ ảnh đầu vào Ngoại trừ hình ảnh thu hiển thị hầu hết chức xử lý hình ảnh thực phần mềm Xử lý hình ảnh đặc trưng giải pháp cụ thể, kỹ thuật hoạt động tốt lĩnh vực không đầy đủ Các giải pháp thực tế vấn để cụ thể đòi hỏi nghiên cứu đáng kể phát triển 1.2 Vai trò tiền xử lý nhận dạng văn Có nhiều yếu tố ảnh hưởng đến kết phương pháp nhận dạng văn kích cỡ chữ, góc nghiêng, nhiễu, dấu, hay phức tạp bố cục văn bản, … Những yếu tố giải giai đoạn tiền xử lý Tuy nhiên, kết trung gian giai đoạn tiền xử lý có ảnh hưởng quan trọng đến độ xác kết cuối hệ thống OCR Một bước tiền xử lý quan trọng phân trang ảnh văn bản, nghĩa là, xác định cấu trúc vật lý văn bao gồm nhiều khối, khối vùng văn (text), hình ảnh hay bảng biểu; quan tâm đến vùng text Phương pháp tạo lưu trữ liên tục văn tồn từ Lưỡng Hà dạng viên đất sét, tác phẩm Trung Quốc tre tơ lụa Ai Cập viết giấy cói Đối với việc tìm kiếm phục hồi, phương Tìm hiểu thuật toán phát góc nghiêng văn pháp để lưu trữ có hệ thống tài liệu hoàn chỉnh trọng thư viên phát triển nhà sư, người chuyên ghi chép sổ sách cho vị vua, hoàng đế nhiều văn hoá Lưu truyền theo thời gian không nguyên vẹn Việc chỉnh sửa văn gặp không vấn đề Tuy nhiên, phần mền xử lý văn đối phó với số hữu hạn định dạng văn kỹ thuật số Các chuyển đổi hình ảnh tài liệu giấy có – mà không nội dung bố cục – thành định dạng số mà xử lý nguyên vẹn điều khó khăn thường Người sử dụng cố gắng phá vỡ vấn đề cách sử dụng số phần mền đóng gói Nhận dạng ký tự quang học (optical character recognition - OCR) Hiện phần mềm đóng gói OCR làm công việc hợp lý giúp người sử dụng chuyển đổi hình ảnh sang dạng tài liệu mà xử lý hệ thống xử lý văn thường xuyên cung cấp cho có điều kiện tối ưu • • • • với: Chất lượng hình ảnh Phân chia văn từ hình Sự diện font ký tự Không có kịch viết tay connected-cursive bố cục trang đơn giản Mô hình trình xử lý ảnh mô tả sau: Thu nhận ảnh Tiền xử lý Phân đoạn Tách đặc tính Nhận dạng giải thích Hình 1.1: Các giai đoạn xử lý ảnh Thu nhận ảnh: Đây công đoạn mang tính định trình xử lý ảnh Ảnh đầu vào thu nhận qua thiết bị camera, sensor, máy scanner,v.v… sau tín hiệu số hóa Việc lựa chọn thiết bị thu nhận ảnh phụ thuộc vào đặc tính đối Tìm hiểu thuật toán phát góc nghiêng văn tượng cần xử lý Các thông số quan trọng bước độ phân giải, chất lượng màu, dung lượng nhớ tốc độ thu nhận ảnh thiết bị Tiền xử lý: Ở bước này, ảnh cải thiện độ tương phản, khử nhiễu, khử bóng, khử độ lệch,v.v… với mục đích làm cho chất lượng ảnh trở lên tốt nữa, chuẩn bị cho bước xử lý phức tạp sau trình xử lý ảnh Quá trình thường thực lọc Phân đoạn ảnh: phân đoạn ảnh bước then chốt xử lý ảnh Giai đoạn phân tích ảnh thành thành phần có tính chất dựa theo biên hay vùng liên thông Tiêu chuẩn để xác định vùng liên thông màu, mức xám v.v… Mục đích phân đoạn ảnh để có miêu tả tổng hợp nhiều phần tử khác cấu tạo lên ảnh thô Vì lượng thông tin chứa ảnh lớn, đa số ứng dụng cần trích vài đặc trưng đó, cần có trình để giảm lượng thông tin khổng lồ Quá trình bao gồm phân vùng ảnh trích chọn đặc tính chủ yếu Tách đặc tính: Kết bước phân đoạn ảnh thường cho dạng liệu điểm ảnh thô, hàm chứa biên vùng ảnh, tập hợp tất điểm ảnh thuộc vùng ảnh Trong hai trường hợp, chuyển đổi liệu thô thành dạng thích hợp cho việc xử lý máy tính cần thiết Để chuyển đổi chúng, câu hỏi cần phải trả lời nên biểu diễn vùng ảnh dạng biên hay dạng vùng hoàn chỉnh gồm tất điểm ảnh thuộc Biểu diễn dạng biên cho vùng phù hợp với ứng dụng quan tâm chủ yếu đến đặc trưng hình dạng bên đối tượng, ví dụ góc cạnh điểm uốn biên chẳng hạn Biểu diễn dạng vùng lại thích hợp cho ứng dụng khai thác tính chất bên đối tượng, ví dụ Tìm hiểu thuật toán phát góc nghiêng văn vân ảnh cấu trúc xương Sự chọn lựa cách biểu diễn thích hợp cho vùng ảnh phần việc chuyển đổi liệu ảnh thô sang dạng thích hợp cho xử lý sau Chúng ta phải đưa phương pháp mô tả liệu chuyển đổi cho tính chất cần quan tâm đến làm bật lên, thuận tiện cho việc xử lý chúng Nhận dạng giải thích: Đây bước cuối trình xử lý ảnh Nhận dạng ảnh nhìn nhận cách đơn giản việc gán nhãn cho đối tượng ảnh Ví dụ nhận dạng chữ viết, đối tượng ảnh cần nhận dạng mẫu chữ, ta cần tách riêng mẫu chữ tìm cách gán ký tự bảng chữ tương ứng cho mẫu chữ thu ảnh Giải thích công đoạn gán nghĩa cho tập đối tượng nhận biết Chúng ta thấy rằng, ứng dụng xử lý ảnh bắt buộc phải tuân theo tất bước xử lý nêu trên, ví dụ ứng dụng chỉnh sửa ảnh nghệ thuật dừng lại bước tiền xử lý Một cách tổng quát chức xử lý bao gồm nhận dạng giải thích thường có mặt hệ thống phân tích ảnh tự động bán tự động, dùng để rút trích thông tin quan trọng từ ảnh, ví dụ ứng dụng nhận dạng ký tự quang học, nhận dạng chữ viết tay v.v… Quả thực, trường hợp hạn chế nghiêm ngặt nội dung, hình dạng ký tự bố cụ tại, phương pháp chí công việc tốt việc chuyển đổi xác hình ảnh ký tự để chuỗi tương ứng ký tự số bảng mã ASCII hay Unicode Ví dụ ứng dụng bưu điện đọc địa chữ số để xác nhận kiểm tra ngân hàng 10 Tìm hiểu thuật toán phát góc nghiêng văn Chương THUẬT TOÁN BIẾN ĐỔI HOUGH VÀ KHẢ NĂNG KHAI THÁC TRONG MÔI TRƯỜNG MATLAB Trong chương đề cập đến số đặc điểm tính toán biến đổi Hough, bước công việc tính toán tìm kiếm góc nghiêng Từ ước lượng góc nghiêng văn phương pháp quay góc nghiêng văn 3.1 Thuật toán biến đổi Hough số đặc điểm tính toán • Thực biến đổi Hough Biến đổi Hough phương pháp phổ biến sử dụng việc phát góc nghiêng văn bản, tương đối đắt tiền Để giảm bớt chi phí tính toán, số phương pháp sửa đổi đề xuất ví dụ: Một hình ảnh mức xám đại diện dòng chạy mã số dài, điểm chọn dùng biến đổi Hough phải mã phạm vi định Sử dụng điểm ảnh đối tượng ứng viên chọn để biến đổi Hough Kỹ thuật biến đổi Hough thông qua ý tưởng phương pháp giảm số lượng liệu đầu vào, độ phức tạp cao 34 Tìm hiểu thuật toán phát góc nghiêng văn Các bước cho việc tìm kiếm góc nghiêng sử dụng biến đổi Hough sau Đối với điểm ảnh P(‘xi’,’yi’) Tính giá trị tương ứng Giá trị làm tròn số với giá trị gần cho phép dọc theo trục Độ lớn Hough tương ứng với phần tử H(j,i), kết xử lý phía ma trận Hough, mà phần tử (i,j) mang đến số điểm nằm đường thẳng với tham số , () Mỗi cột ma trận Hough cho tất điểm nằm tập hợp đường thẳng song song, không phân biệt giá trị Vì vậy, việc tìm kiếm giá trị phương sai dọc theo cột cho phương sai số lượng điểm ảnh nằm đường thẳng song song Một lần nữa, góc nghiêng góc mà phương sai lớn • Xác định góc nghiêng văn - Sau tìm góc nghiêng vùng bao hình chữ nhật, chia khoảng [-10,10] thành đoạn nhỏ có độ dài 0, xếp tính tổng góc nằm khoảng [-10,-9], [-9,-8],….[8,9], [9,10] Tìm khoảng có - tổng góc lớn số lượng góc thuộc khoảng Giá trị góc nghiêng văn ước lượng: Giả sử: angleMax tong góc lớn thuộc khoảng [a,b] max: số lượng góc tương ứng thuộc khoảng [a,b] angle: góc văn angle = (3.1) * Kết thực nghiệm: qua trình thực nghiệm thuật toán, kết thu tốt, tính xác giá trị góc nghiêng văn với góc nghiêng số nguyên, số thập phân làm tròn • Phương pháp xoay ảnh văn Sau xác định góc nghiêng văn bản, việc cần làm quay ảnh gốc theo góc xác định Quay ảnh văn bước 35 Tìm hiểu thuật toán phát góc nghiêng văn quan trọng, tiền đề cho việc phân tích xây dựng bố cục nhận dạng văn sau Độ xác việc quay ảnh ảnh hưởng nhiều đến kết bước Hiện có nhiều phương pháp đề nghị cho việc quay ảnh Có thể đơn cử như: phép quay dựa biến đổi Affine, phương pháp Cheng đề nghị, phương pháp 3-pass, phương pháp Jiang đề nghị hay phương pháp black run… Tuy nhiên, hạn chế chung phương pháp làm điểm quay phép làm tròn số, gây tượng “rỗ” ảnh 3.2 Hàm biến đổi Hough Matlab 3.2.1 Một số hàm biến đổi ảnh • Hàm imread đọc file ảnh với định dạng ảnh mà ta biết lưu lại dạng ma trận biểu diễn ảnh matlab * Cú pháp: A = imread(filename,fmt) [X,map] = imread(filename,fmt) [ ] = imread(filename) [ ] = imread(URL, ) [ ] = imread( ,idx) (CUR, GIF, ICO, and TIFF only) [ ] = imread( ,'PixelRegion',{ROWS, COLS}) (TIFF only) [ ] = imread( ,'frames',idx) (GIF only) [ ] = imread( ,ref) (HDF only) [ ] = imread( ,'BackgroundColor',BG) (PNG only) [A,map,alpha] = imread( ) (ICO, CUR, and PNG only) * Trong đó: A: tên biến filename: tên tập tin ảnh với đường dẫn đầy đủ fmt: xác định định dạng tập tin, matlab trợ giúp nhiều định dạng như: BMP, GIF, JPEG, PNG, … phù hợp với kiểu gọi hàm tham số truyền vào cú pháp • Hàm imshow dùng hiển thị ảnh nhập vào không gian làm việc * Cú pháp: 36 Tìm hiểu thuật toán phát góc nghiêng văn imshow(I) imshow(I,[low high]) // hiển thị ảnh I khoảng [low high] low I hiển thị màu đen high màu trắng imshow(RGB) // hiển thị hình ảnh turecolor RGB imshow(BW) // hiển thị ảnh dạng nhị phân 1: màu trắng, 0: màu đen imshow(X,map) // ảnh định số X với đồ màu map imshow(filename) // tham số truyền vào trực tiếp tên file ảnh, không cần thao tác đọc ảnh himage = imshow( ) imshow( ,param1,val1,param2,val2) //hiển thị ảnh theo thông số cụ thể * Trong đó: I: ảnh nhập vào, VD: A=imread(‘A.tif’); Imshow(A); • Hàm rgb2gray chuyển đổi từ ảnh RGB colormap để tạo ảnh cường độ đen trắng * Cú Pháp: I = rgb2gray(RGB) newmap = rgb2gray(map) • Hàm graythresh sử dụng phương pháp Otsu để xác định ngưỡng cho quy mô hình ảnh xám * Cú pháp: level = graythresh(I) // leve giá trị ngưỡng bình thường hoá giữ [level EM] = graythresh(I) 3.2.1 Hàm biến đổi Hough • Hàm Hough sử dụng tính toán tiêu chuẩn biến đổi Hough ảnh nhị phân BW Sử dụng hàm biến đổi Hough để phát dòng hình • ảnh Hàm trả ma trận biến đổi Hough (H), theta theo độ mảng roh * Cú pháp: [H, theta, rho] = Hough (BW) [H, theta, rho] = Hough (BW, ParameterName , ParameterValue) Hàm Houghpeaks sử dụng xác định đỉnh biến đổi Hough, đỉnh nằm ma trận H biến đổi Hough tạo hàm Hough, 37 Tìm hiểu thuật toán phát góc nghiêng văn numpeaks giá trị vô hướng xác định số lượng tối đa đỉnh xác định * Cú pháp: peaks = houghpeaks(H, numpeaks) • peaks = houghpeaks( , param1, val1, param2, val2) Hàm Houghline : sử dụng để phát đường thẳng dựa biến đổi Hough * Cú pháp: lines = houghlines(BW, theta, rho, peaks) lines = houghlines( , param1, val1, param2, val2) - Phát đường thẳng hình ảnh BW biến đổi Hough, theta roh vecto trả hàm Hough Đỉnh mà trân biến đổi Hough trả hàm Houghpeaks có chứa tọa độ hàng cột biến đổi Hough sử dụng tìm kiếm đoạn thẳng - Hàm Houghline trả đường, mảng cấu trúc có chiều dài số đường thẳng tìm thấy, bao gồm phần tử mảng cấu trúc là: + point1: Hai phần tử vector [x,y] xác định tọa độ điểm đầu đoạn thẳng + point2: Hai phần tử vector xác định tọa độ điểm cuối đoạn thẳng + theta: Góc biến đổi Hough + roh: Trục vị trí biến đổi Hough 3.3 Bài toán phát đường thẳng mối quan hệ với góc nghiêng văn - Từ tập điểm (bằng cách mà ta thu được) ta kiểm tra xem điểm có nằm đường thẳng hay không? - Bài toán đặt xác định xem đường thẳng gần qua tất điểm ta dùng biến đổi Hough Bài toán: Cho n điểm (xi; yi) i = 1, n ngưỡng θ kiểm tra n điểm có tạo thành đường thẳng hay không? 38 Tìm hiểu thuật toán phát góc nghiêng văn * Ý tưởng Giả sử n điểm nằm đường thẳng đường thẳng có phương trình y = ax + b Vì (xi, yi) i = 1, n thuộc đường thẳng nên y1 = ax1 + b, ∀i = 1, n ⇔ b = - xia + y1; ∀i = 1, n Như vậy, điểm (xi; yi) mặt phẳng tương ứng với số đường thẳng b = - xia + yi mặt phẳng tham số a, b n điểm (x i; yi) i = 1, n thuộc đường thẳng mặt phẳng tương ứng với n đường thẳng mặt phẳng tham số a, b giao điểm điểm giao a, b Chính hệ số xác định phương trình đường thẳng mà điểm nằm vào * Phương pháp: - Xây dựng mảng số [a, b] gán giá trị ban đầu cho tất phân tử mảng - Với (xi; yi) ∀a, b số phần tử mảng thoả mãn b = - xia + yi tăng giá trị phân tử mảng tương ứng lên - Tìm phần tử mảng có giá trị lớn giá trị lớn tìm so với số phân tử lớn ngưìng θ cho trước ta kết luận điểm nằm đường thẳng đường thẳng có phương trình y = ax + b a, b tương ứng số phần tử mảng có giá trị lớn tìm được: Ví dụ: 39 Tìm hiểu thuật toán phát góc nghiêng văn Cho điểm (0, 1); (1, 3); (2, 5); (3, 5); (4, 9) θ = 80% Hãy kiểm tra xem điểm cho có nằm đường thẳng hay không? Hãy cho biết phương trình đường thẳng có? - Lập bảng số [a, b] gán giá trị + (0, 1): b = + (1, 3): b = -a + + (2, 5): b = -2a + + (3, 5): b = -3a + + (4, 9): b = -4a + - Tìm phần tử lớn có giá trị 4/5 = 80% - Kết luận: điểm nằm đường thẳng Phương trình: y = 2x + Mối quan hệ biến đổi Hough cho đường thẳng góc nghiêng y r x.cos+y.sin=r H x Hình 3.1 Đường thẳng Hough toạ độ cực 40 Tìm hiểu thuật toán phát góc nghiêng văn Mỗi điểm (x,y) mặt phẳng biểu diễn cặp (r,ϕ) tọa độ cực Tương tự đường thẳng mặt phẳng biểu diễn cặp (r,ϕ) tọa độ cực với r khoảng cách từ gốc tọa độ tới đường thẳng ϕ góc tạo trục 0X với đường thẳng vuông góc với nó, hình 3.2 biểu diễn đường thẳng hough tọa độ Decard Ngược lại, cặp (r,ϕ) toạ độ cực tương ứng biểu diễm đường thẳng mặt phẳng Giả sử M(x,y) mộ điểm thuộc đường thẳng biểu diễn (r,ϕ), gọi H(X,Y) hình chiếu gốc toạ độ O đường thẳng ta có: X= r cosϕ Y= r.sinϕ OH.HA=0 Mặt khác, ta có: Từ ta có mối liên hệ (x,y) (r,ϕ) sau: x*cosϕ+y*sinϕ= r Xét n điểm thẳng hàng tọa độ Đề có phương trình x*cosϕ0+y*sinϕ0= r0 Biến đổi Hough ánh xạ n điểm thành n đường sin tọa độ cực mà đường qua (r 0,ϕ0) Giao điểm (r0,ϕ0) n đường sin xác định đường thẳng hệ tọa độ đề Như vậy, đường thẳng qua điểm (x,y) cho cặp (r,ϕ) có đường qua (x,y) có nhiêu cặp giá trị (r,ϕ) Kết luận Kỹ thuật biến đổi Hough cách tiếp cận sử dụng cho phù hợp đường thẳng đường cong Phương pháp ưa thích mục tiêu để tìm đường đường cong hình thành nhóm điểm 41 Tìm hiểu thuật toán phát góc nghiêng văn mặt phẳng ảnh Phương pháp liên quan đến chuyển đổi từ mặt phẳng ảnh tới không gian tham số Trong chương đề cập thêm khả khai thác biến đổi Hough môi trường Matlab Tìm hiểu số hàm biến đổi hàm biến đổi Hough việc phát góc nghiêng văn Biến đổi Hough ứng dụng phát góc nghiêng văn trình bày minh họa chương Chương ÁP DỤNG THUẬT TOÁN HOUGH TRONG PHÁT HIỆN GÓC NGHIÊNG VĂN BẢN 4.1 Ứng dụng biến đổi Hough phát góc nghiêng văn Ý tưởng việc áp dụng biến đổi Hough phát góc nghiêng văn dùng mảng tích luỹ để đếm số điểm ảnh nằm đường thẳng không gian ảnh Mảng tích luỹ mảng hai chiều với số hàng mảng cho biết góc lệch ϕ đường thẳng số cột 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 đường thẳng song song theo góc lệch thay đổi Góc nghiêng văn tương ứng với góc có tổng giá trị mảng tích luỹ cực đại 42 Tìm hiểu thuật toán phát góc nghiêng văn Theo biến đổi Hough, đường thẳng mặt phẳng tương ứng biểu diễn cặp (r,ϕ) Giả sử ta có điểm ảnh (x,y) mặt phẳng Vì qua điểm ảnh có vô số đường thẳng, đường thẳng lại cho cặp (r,ϕ) nên với điểm ảnh ta xác định số cặp (r,ϕ) thoả mãn phương trình Hough Hình vẽ minh hoạ cách dùng biến đổi Hough để phát góc nghiêng văn Giả sử ta có số điểm ảnh Đây điểm đáy hình chữ nhật ngoại tiếp đối tượng lựa chọn từ bước trước Ở đây, ta thấy mặt phẳng có hai đường thẳng song song Đường thẳng thứ có ba điểm ảnh nên giá trị mảng tích luỹ Đường thẳng thứ hai có giá trị mảng tích luỹ Do đó, tổng giá trị mảng tích lũy cho góc ϕ trường hợp x.cos+y.sin = r1 y Hough[][r1] = x.cos+y.sin = r2 Hough[][r1] = x 4.2 Thuật toán phát hiệu chỉnh góc nghiêng văn a) Xử lý ngoại lệ Sau giai đoạn tiền xử lý ảnh ta thu ảnh trung gian TempImage Thuật toán phát góc nghiêng làm việc với ảnh trung gian để tìm góc nghiêng cho văn sau dùng thuật toán quay ảnh để quay ảnh ban đầu với góc nghiêng vừa tìm 43 Tìm hiểu thuật toán phát góc nghiêng văn Tuy nhiên, điểm cần xét đến thuật toán phát góc nghiêng xử lý ảnh văn phức tạp trường hợp ngoại lệ Ta đưa phương án xử lý cho trường hợp Ảnh có ký tự Hình 6.4 Ví dụ ảnh nghiêng có ký tự chữ Trường hợp thứ ảnh có ký tự chữ chưa đủ để xác định góc nghiêng Các đối tượng ảnh chủ yếu ảnh nhiễu, đặc biệt ký tự nghiêng góc khác đặc thù riêng ảnh Hình vẽ minh hoạ ảnh văn nghiêng với số ký tự Vì vậy, ta đưa kết luận góc nghiêng cho văn trường hợp số lượng đối tượng phải lớn ngưỡng Trong chương trình số lượng chọn 70 đối tượng Các đối tượng bao Trường hợp ngoại lệ khác đối tượng bao Đây cản trở thuật toán xác định góc nghiêng khác đặc biệt thuật toán theo phương pháp phân tích láng giềng thân cận đề cập Mặc dù số ký tự văn nhiều ký tự hầu hết bị chứa đối tượng khác lớn nhiều chẳng hạn ảnh hay bảng biểu Hình 5.5 minh họa cho cho trường hợp ký tự bị bao đối tượng ảnh Khi đó, nhiệm vụ phải nhận bao hàm đối tượng tách, lấy đối tượng ký tự bị bao đối tượng lớn 44 Tìm hiểu thuật toán phát góc nghiêng văn Hình 6.5 Ví dụ văn nghiêng có đối tượng bao Ở đây, ta dùng kỹ thuật bóc dần đối tượng lớn ngoại cỡ để xác định ký tự Một đối tượng gọi có kích thước ngoại cỡ quy ước đối tượng có chiều rộng chiều cao lớn 200 pixel Nếu trình dò biên ta gặp đối tượng vậy, ta cách ly khỏi tập đối tượng xét Các đối tượng dùng đến cuối số đối tượng chọn để áp dụng biến đổi Hough bé 70 Ta xem đối tượng ảnh tiếp tục duyệt đối tượng bên để lấy đối tượng ký tự b) Thuật toán phát góc nghiêng văn dựa vào biên Giả sử ảnh đầu vào ảnh màu (Image) Thuật toán phát chỉnh sửa góc nghiêng văn thực theo bước sau: Bước 1: Tiền xử lý ảnh màu Image ảnh trung gian TempImage Bước 2: Xác định chu tuyến cho đối tượng: Duyệt ảnh từ xuống dưới, từ trái sang phải, điểm ảnh (x,y): • Nếu (x,y) có màu khác màu chưa xét Label [x][y]=0 : - Tăng giá trị nhãn lên đơn vị: label=label+1 - Gọi hàm xác định chu tuyến DetectAnObject với điểm xuất phát (x,y), rec dùng lưu hình chữ nhật chứa đối tượng, hàm trả -1 đối tượng cô lập, đối tượng có kích thước bình thường trường hợp ngược lại có kích thước kỳ lạ - Nếu hàm chu tuyến trả : 45 Tìm hiểu thuật toán phát góc nghiêng văn + Tăng số đối tượng: Id=Id+1 + Lưu lại Rec[Id] =rec + Duyệt từ phải sang trái, tìm điểm hàng có nhãn label nhảy tới - Ngược lại hàm DetectAnObject trả 0: + Nếu rec.Wid > 200 rec.Hei > 200 ( kích thước lớn) thiết lập màu cho điểm biên lấy điểm (x,y+1) làm điểm xét + Ngược lại, duyệt từ phải sang trái tìm điểm hàng có nhãn label nhảy tới • Nếu (x,y) có màu khác màu xét, Label [x][y] > 0, duyệt từ phải sang trái tìm điểm hàng có nhãn Label [x][y] nhảy tới Bước 3: Dùng mảng Rec[N] xác định giá trị ngưỡng trung bình WidAvr, HeiAvr PrmAvr Bước 4: Áp dụng biến đổi Hough Với phần tử Rec[i] mảng Rec: Nếu Rec[i].Pmr< 6*PrmAvr Rec[i].Wid< 4*WidAvr Rec[i].Hei< 4*HeiAvr , áp dụng biến đổi Hough cho điểm đáy hình chữ nhật Bước 5: Dùng mảng kết Hough[360][Dis] ước lượng góc nghiêng cho văn bản: • Gán giá trị cực đại phần tử mảng Hough[360][Dis] cho max • Gán maxtotal = • Với hàng i mảng - Khởi tạo cho tổng giá trị hàng: total = - Với giá trị cột j, Hough[i][j] > max/2, tăng tổng total = total+Hough[i][j] - Nếu total> maxtotal: + maxtotal = total + Góc lệch ϕ = i Bước 6: Quay lại ảnh Image với góc lệch ϕ vừa xác định từ bước 46 Tìm hiểu thuật toán phát góc nghiêng văn TÀI LIỆU THAM KHẢO [1] Srihari S N and Govindraju V., “Analysis of textual images using Hough Transform”, Machine vision Applications 2, 1989, pp 141-153 [2] Le D S, Thoma G R and Wechsler H, “Automatic page orientation and skew angle detection for binary document images.” Patter Recognition 27, 1994, pp 1325 – 1344 [3] B Yu and A K Jain, “A robust and fast skew detection algorithm for generic documents,” Pattern Recognition, 29, no 10, 1996, pp 15991630 47 Tìm hiểu thuật toán phát góc nghiêng văn [4] Pal U and Chaudhari B B, “An improved document skew angle estimation technique”, Pattern Recognition Letters, Vol 17,1996, pp 899904 [5] B V Dhandra, V S Malemath, Mallikarjun H, Ravindra Hegadi, “Skew Detection in Binary Image Documents Based on Image Dilation and Region labeling Approach”, The 18th International Conference on Pattern Recognition (ICPR'06), 2006 [6] Manjunath Aradhya V N, Hemantha Kumar G and Shivakumara P, “Skew detection technique for binary document images based on Hough transform”, nternational Journal of Information Technology, Vol 3, 2006 [7] M Ahmed and R Ward, “Rotation Invariant Rule-Based Thinning Algorithm for Character Recognition”, IEEE Trans Pattern Analysis and Machine Interlligence, vol 24, No 12, December 2002 [8] Gonzalez R., Woods, Digital Image Processing, Addison-Wesley Publishing Company 2nd Ed 2002 48 [...]... hiện góc nghiêng văn bản Qua nghiên cứu có rất nhiều cách tiếp cận khác nhau đối với bài toán phát hiện góc nghiêng văn bản Một số thuật toán tiêu biểu sẽ được trình bày chi tiết hơn trong chương 2 Chương 2 CÁC THUẬT TOÁN PHÁT HIỆN GÓC NGHIÊNG VĂN BẢN Có nhiều phương pháp khác nhau để phát hiện góc nghiêng hình ảnh văn bản quét Trong chương này chúng tôi nghiêng cứu 3 thuật toán phát hiện góc nghiêng văn. .. khỏi khi văn bản hình ảnh được đưa vào Góc nghiêng là sự sai lệch bất kỳ của hình ảnh từ văn bản gốc, mà không song song với chiều ngang 11 Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản hoặc dọc Góc nghiêng văn bản là một trong những nhiệm vụ quan trọng cần được sửa chữa trong xử lý văn bản Góc nghiêng văn bản là một bài toán kinh điển trong xử lý ảnh văn bản Một hệ thống xử lý ảnh văn bản thường... thực nghiệm thuật toán, kết quả thu về khá tốt, tính chính xác được giá trị góc nghiêng của văn bản với góc nghiêng là số nguyên, còn số thập phân thì được làm tròn • Phương pháp xoay ảnh văn bản Sau khi xác định được góc nghiêng văn bản, việc cần làm tiếp theo là quay ảnh gốc theo góc mới xác định đó Quay ảnh văn bản là một bước rất 35 Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản quan trọng,... Scanline Bảng 2.2: So sánh kết quả độ nghiêng văn bản quét của tài liệu khác nhau tính toán góc ban đầu sử dụng phương pháp Scanline Góc => Các hình văn bản quét Hình 2.7 (a) Hình 2.7 (c) Hình 2.8 (a) Hình 2.8 (c) Hình 2.9 (a) Hình 2.9 (c) 29 Tính góc nghiêng Góc nghiêng ban đầu -8 6 -7 15 16 -18 -8 6 -7 15 16 -18 Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản 2.3.2 Biến đổi Hough Thuật toán dùng... quyết bài toán phát hiện góc nghiêng như một bước đầu tiên và tất yếu Chính vì vậy, cùng với sự phát triển của xử lý ảnh nói chung và xử lý ảnh văn bản nói riêng, bài toán góc nghiêng văn bản cũng được quan tâm ngày càng nhiều và dưới nhiều góc độ khác nhau Có rất nhiều hướng tiếp cận cho bài toán góc nghiêng văn bản từ trước tới nay Các thuật toán phát hiện góc nghiêng thường được xây dựng cho các hệ... khi tất cả các điểm cơ sở nằm trong nhóm cơ sở nhất định trong phạm vi hình chữ nhật này Bảng 2.1: so sánh kết quả độ nghiêng văn bản quét của tài liệu khác nhau tính toán góc ban đầu sử dụng phương pháp Base – point Góc => Các hình văn bản quét Hình 2.3 (a) Hình 2.3 (c) Hình 2.4 (a) 16 Tính góc nghiêng Góc nghiêng ban đầu -4 -2 -1 -8 6 -7 Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản Hình 2.4... xác Góc nghiêng có thể tìm thấy từ 2D phổ Fourier bằng cách tích hợp tỏa tròn hoặc việc tìm kiếm các góc độ của đỉnh có giá trị cao nhất Việc xác định độ lệch sử dụng các dòng trong Fourier không gian để xác định góc nghiêng theo thuật toán sau: • Hình ảnh được phân thành các khối có kích thước nxn 23 Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản • Phân tích Fourier là phổ Fourier tính toán. .. ảnh trong văn bản ảnh được quét, độ phức tạp là: (a) Ảnh đầu tiên quét từ sách 25 (b) kết quả hiệu chỉnh từ (a) Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản (c) ảnh thứ 2 quét từ sách (d) kết quả hiệu chỉnh (c) Hình 2.6: Quét tài liệu từ sách với phương pháp Scanline (a) ảnh đầu tiên quét từ bài thi 26 (b) kết quả hiệu chỉnh (a) Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản (c) Ảnh... Sau thuật toán các điểm cơ sở thì cho độ phức tạp thời gian (a) Ảnh đầu tiên quét từ sách 17 (b) kết quả hiệu chỉnh từ (a) Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản (c) ảnh thứ 2 quét từ sách (d) kết quả hiệu chỉnh (c) Hình 2.2: Quét tài liệu từ sách với phương pháp Base - point (a) ảnh đầu tiên quét từ bài thi 18 (b) kết quả hiệu chỉnh (a) Tìm hiểu các thuật toán phát hiện góc nghiêng văn. .. định góc nghiêng văn bản sẽ được xác định nhờ phép biến đổi Hough cho những điểm giữa đáy của hình chữ nhật nhỏ nhất bao quanh đối tượng ảnh cho các đối tượng ảnh có kích thước chủ đạo 12 Tìm hiểu các thuật toán phát hiện góc nghiêng văn bản Kết luận Nội dung chương 1 đã giới thiệu tổng quan các bước tiền xử lý văn bản, vai trò của nó trong việc nhận dạng văn bản Bước đầu tiếp cận với bài toán phát hiện ... Chương CÁC THUẬT TOÁN PHÁT HIỆN GÓC NGHIÊNG VĂN BẢN Có nhiều phương pháp khác để phát góc nghiêng hình ảnh văn quét Trong chương nghiêng cứu thuật toán phát góc nghiêng văn tiêu biêu là: Phát góc nghiêng. .. TempImage Thuật toán phát góc nghiêng làm việc với ảnh trung gian để tìm góc nghiêng cho văn sau dùng thuật toán quay ảnh để quay ảnh ban đầu với góc nghiêng vừa tìm 43 Tìm hiểu thuật toán phát góc nghiêng. .. xác kỹ thuật cải thiện Xuất phát từ yêu cầu trên, chúng em chọn đề tài nghiên cứu: tìm hiểu thuật toán phát góc nghiêng văn bản Các thuật toán phát độ nghiêng thực Bước quét dòng phát độ nghiêng