Phát hiện và hiệu chỉnh góc nghiêng trong văn bản

62 106 0
Phát hiện và hiệu chỉnh góc nghiêng trong văn bản

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Phát hiệu chỉnh góc nghiêng văn Lời cảm ơn Em xin chân thành cảm ơn tất thầy cô giáo khoa công nghệ thông tin - trường đại học dân lập Hải Phòng nhiệt tình giảng dạy cung cấp cho em nhiều kiến thức quý báu Em xin bày tỏ lòng biết ơn sâu sắc tới thầy giáo PGS.TS Ngô Quốc Tạo, người tận tình hướng dẫn tạo điều thuận lợi để em hoàn thành đề tài Xin cảm ơn bạn khoa công nghệ thông tin - trường đại học dân lập Hải Phòng động viên, góp ý, trao đổi hỗ trợ tơi suốt thời gian qua Em xin chân thành cảm ơn! Hải Phòng, tháng 07 năm 2009 Sinh viên Lê Thành Long Sinh viên thực hiện: Lê Thành Long Ngành Cơng Nghệ Thơng Tin Phát hiệu chỉnh góc nghiêng văn Lời mở đầu Chương I : Tổng quan xử lý ảnh số tốn phát góc nghiêng 1.1 Xử lý ảnh 1.2 Các trình xử lý ảnh 1.3 Một số khái niệm liên quan 1.4 Ảnh PCX 10 1.4.1 Cấu trúc ảnh PCX: 10 1.4.2 Kỹ thuật nén ảnh PCX 12 1.4.3 Giải thuật nén ảnh PCX 14 1.5 Một số tốn phát góc nghiêng 15 Chương II : Các phương pháp phát góc nghiêng văn 2.1 17 Xác định góc nghiêng dựa vào thuật toán phân cụm láng giềng gần nhất: 17 2.1.1Thuật tốn ước lượng góc nghiêng 19 2.1.2 Kết thử nghiệm 23 2.1.3 Kết luận 24 2.2 Xác định góc nghiêng dựa vào phép biến đổi Morphology 25 2.2.1 Bước tiền xử lý 27 2.2.2 Ước lượng thô 28 2.2.3 Áp dụng phép biến đổi Morphology 311 2.2.4 Ước lượng tinh 34 2.2.5 Kết thực nghiệm 37 2.3 Phương pháp ước lượng góc nghiêng dựa phép chiếu nghiêng 37 2.4 Ứng dụng phép biến đổi Hough để xác định độ nghiêng văn 40 Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn 2.4.1 Phép biến đổi Hough cho đường thẳng: .41 2.4.2 Thủ tục xác định độ nghiêng cho trang văn sử dụng phép biến đổi Hough: 48 2.4.3 Thủ tục xác định tâm cạnh dưới: 511 2.4.4 Thủ tục quay: 522 Chương III : Cài đặt chương trình 53 3.1 Sơ lược chương trình cài đặt 53 3.2 Chương trình thực nghiệm 57 Kết Luận 59 Tài liệu tham khảo 60 Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn Lời mở đầu Trong số thông tin người thu nhận từ bên ngoài, cố đến 79% ghi nhận mắt tức dạng ảnh Vì xử lý ảnh ngành khoa học phát triển mạnh cò ứng dụng rộng rãi khoa học đới sống thực tiễn Các hệ thống xử lý ảnh cho phép người thu nhận lưu trữ, phân tích nhận dạng ảnh Một phận quan trọng xử lý ảnh xử lý văn Một nhiện vụ đối tượng xử lý ảnh văn tự động hố cơng việc văn phòng Một vấn đề kinh điển xử lý ảnh văn tốn góc nghiêng văn Nguyên nhân đẫn đến văn bị nghiêng góc xuất phát từ q trình qt ảnh copy ảnh Do đặt ảnh vào bệ máy quét máy in công đoạn thực tay lên ảnh bị lệch so với bệ máy góc mà mắt thường khơng nhận thấy được, đẫn đến ảnh bị lệch góc tương ứng Văn bị lệch có ảnh hưởng lớn đến trình xử lý ảnh tiếp theo, việc phát chỉnh sửa góc nghiêng văn nhiệm vụ quan đấu tiên xử lý ảnh văn Từ hai thập kỷ gần đây, với phát triển xử lý ảnh văn bản, có nhiều phương pháp thuật tốn cho tốn góc nghiêng văn Một cách tiếp cận phổ biến dễ hiểu phương pháp hình chiếu Phương pháp tính histogram cho góc khác góc lệch văn tương ứng góc có histogram lớn Một thuật tồn khác phát góc nghiêng văn dùng biến đổi Hough Biến đôi Hough dụng cho số điểm ảnh đại diện đối tượng dùng mảng tích luỹ để ước lượng góc nghiêng văn Trong số thuật tốn xác định góc nghiêng văn cách gom nhóm đối tượng láng giềng Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn ảnh vào sử dụng vector phương cho nhóm Ngồi phương pháp tiếp cận phổ biến tốn góc nghiêng văn giải theo số phương pháp khác phương pháp dùng phép tốn hình thái, phương pháp dùng logic mờ, phương pháp biến đổi Fourire v.v Khóa luận trình bày vài phương pháp phát góc nghiêng phổ biến Cấu trúc khóa luận sau: Chương I: Tổng quan xử lý ảnh số tốn phát góc nghiêng Chương II: Trình bày phương pháp phát góc nghiêng Chương III: Cài đặt chương trình Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn Chương I : Tổng quan xử lý ảnh số tốn phát góc nghiêng 1.1 Xử lý ảnh Xử lý ảnh (XLA) đối tượng nghiên cứu lĩnh vực thị giác máy, trình biến đổi từ ảnh ban đầu sang ảnh với đặc tính tuân theo ý muốn người sử dụng Xử lý ảnh gồm q trình phân tích, phân lớp đối tượng, làm tăng chất lượng, phân đoạn tách cạnh, gán nhãn cho vùng hay q trình biên dịch thơng tin hình ảnh ảnh Cũng xử lý liệu đồ hoạ, xử lý ảnh số lĩnh vực tin học ứng dụng Xử lý liệu đồ họa đề cập đến ảnh nhân tạo, ảnh xem xét cấu trúc liệu tạo chương trình Xử lý ảnh số bao gồm phương pháp kỹ thuật biến đổi, để truyền tải mã hố ảnh tự nhiên Mục đích xử lý ảnh gồm: Biến đổi ảnh làm tăng chất lượng ảnh Tự động nhận dạng ảnh, đoán nhận ảnh, đánh giá nội dung ảnh Nhận biết đánh giá nội dung ảnh phân tích hình ảnh thành phần có ý nghĩa để phân biệt đối tượng với đối tượng khác, dựa vào ta mơ tả cấu trúc hình ảnh ban đầu Có thể liệt kê số phương pháp nhận dạng nhận dạng ảnh đối tượng ảnh, tách cạnh, phân đoạn hình ảnh,… Kỹ thuật dùng Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn nhiều y học (xử lý tế bào, nhiễm sắc thể), nhận dạng chữ văn 1.2 Các trình xử lý ảnh 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 q trình XLA Ả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ượ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 XLA Quá trình thường thực lọc Phân đoạn ảnh: phân đoạn ảnh bước then chốt XLA 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 Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn để giảm lượng thơng tin khổng lồ Q 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 ngồi đố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ụ 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 q trình XLA 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 XLA 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ý Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn 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… 1.3 Một số khái niệm liên quan Ảnh điểm ảnh: ảnh mảng số thực hai chiều (I i j) có kích thước (m*n), phần tử Ii j (i=1 m, j=1 n) biểu thị mức xám ảnh vị trí (i, j) tương ứng Mức xám: số giá trị có điểm ảnh ảnh Các điểm láng giềng: giả sử (i, j) điểm ảnh, điểm 4-láng giềng : N4= {(i-1, j); (i+1, j); (i, j-1); (i, j+1)}, điểm 8láng giềng : N8= N4 {(i-1, j-1); (i-1, j+1); (i+1, j -1); (i+1, j+1)} P3 P2 P1 P4 P P0 P5 P6 P7 Hình 1.2 Ma trận láng giềng kề Đối tượng ảnh: hai điểm P0 Pn E , E tập điểm vùng tập điểm nền, gọi 8-liên thông (hoặc 4-liên thông) E tồn tập điểm gọi đường (i0, j0) (in, jn) cho (i0, j0) = P0 (in, jn)= Pn, (ir, jr) E (ir, jr) 8-láng giềng (hoặc 4-láng giềng tương ứng) (ir-1, jr-1) với r= 1,2,…,n Quan hệ k-liên thông E (k=4,8) quan hệ phản xạ, đối xứng bắc cầu Bởi quan hệ tương đương Mỗi lớp tương đương gọi thành phần k-liên thông ảnh Về sau ta gọi thành phần k-liên thông ảnh đối tượng ảnh Sinh viên thực hiện: Lê Thành Long Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn 1.4 Ảnh PCX 1.4.1 Cấu trúc ảnh PCX: Phần đầu với số bytes 128 đến 127 Khoảng cố định cho file ảnh PCX Thơng tin phần đầu có tác dụng chương trình đọc file phát dấu hiệu đắn file ảnh PCX đọc thông tin ảnh cần đọc Phần đầu file định nghĩa nhiều thơng số ảnh kích thước ảnh, bảng màu (nếu ảnh nhị phân) số thông tin khác Đối với phần đầu file PCX có tương đối nhiều khoảng trống mà khơng sử dụng Cấu trúc phần đầu file PCX gồm 16 thành phần chiếm 128 bytes Tên thành phần Số bytes Mô tả manufacturer (Hãng sản xuất )luôn A0h Vecsion Số hiệu phiên Encoding Dấu hiệu nén ảnh (Luôn 1) bits_per_pixel Số bits để mã hoá pixel Xmin Toạ độ góc bên trái theo chiều x Ymin Toạ độ góc bên trái theo chiều y Xmax Toạ độ góc bên phải theo chiều x Ymax Toạ độ góc bên phải theo chiều y Sinh viên thực hiện: Lê Thành Long 10 Ngành Công Nghệ Thơng Tin Phát hiệu chỉnh góc nghiêng văn for Hy:=1 to Hy_max begin {Lần lượt với tất giá trị , d tính } theo :=(Hy-1) _step;{ tính theo độ} d:=x.cos + y.sin ; {Nếu cần đổi sang radian} Hx:=integer(d/d_step + 1.5); {d 0, Hx 1} if ((Hx >= 1) and (Hx = S then begin := (Hy-1) _step; d := (Hx-1).d _step; đường thẳng d:=x.cos + y.sin xác định không gian x,y ( d xác định) NUM:=NUM+1; End; {then} Until NUM Baird sử dụng kích thước hộp (bin size) tương ứng với 1/3 kích thước ký tự điểm độ phân giải tiêu biểu, Pi(q) giá trị (bin) thứ i tìm với góc 4) Cực đại hoá hàm: n A( ) Pi ( ) i Với n số hộp (bin) góc cho giá trị cực đại góc nghiêng Một lần ước lượng góc nghiêng có ích, giảm số phép tìm kiếm cần thiết để tìm giá trị cực đại Nếu khơng có sẵn ước lượng, tìm kiếm sử dụng, tốn thời gian Tuy nhiên, lân cận đúng, dùng phép tìm kiếm thơ đến mịn (coarse to fine) Phương pháp bình phương tối thiểu phi tuyến đề xuất Sinh viên thực hiện: Lê Thành Long 49 Ngành Công Nghệ Thơng Tin Phát hiệu chỉnh góc nghiêng văn Sự xác thu từ thuật tốn đạt tới 1/30 độ, với 1/2 độ điển hình Sơ đồ 2.13 cung cấp ví dụ phương pháp ứng dụng để quay ảnh- thực để nhận biết góc nghiêng, so sánh với giá trị tìm thuật toán Sơ đồ 2.13a phần văn quay 10 , sơ đồ 2.13b cho thấy phép quay 15 Sau phân ngưỡng (sơ đồ 2.13c-d), hai bước đầu thuật toán Baird áp dụng, điểm tâm hợp biên vẽ điểm ảnh đen (sơ đồ 2.13e-f) đường thẳng khớp (best-fit) qua pixel đen nằm góc nghiêng văn Hình 2.14 Thuật tốn Hough cho xác định độ nghiêng Tuy vậy, thay thực hết thuật tốn xác định góc tốt nhờ sử dụng phép chiếu, histogram tính tốn bình phương tối thiểu, người ta Sinh viên thực hiện: Lê Thành Long 50 Ngành Công Nghệ Thơng Tin Phát hiệu chỉnh góc nghiêng văn thử phương pháp khác để ước lượng góc Sau cùng, tiêu chuẩn bình phương tối thiểu dùng nhiều lần Thuật tốn Baird trình bày sử dụng phép biến đổi Hough cho đường thẳng để xác định góc nghiêng trang ảnh tài liệu Để cài đặt thuật toán cần phải thực thêm thủ tục xác định tâm cạnh hình hộp bao quanh ký tự 2.4.3 Thủ tục xác định tâm cạnh dưới: Thủ tục nhằm xác định điểm đại diện cho ký tự dùng thuật toán Baird sử dụng phép biến đổi Hough cho đường thẳng xác định góc nghiêng ảnh văn Thuộc tính: ảnh (Image): ảnh bilevel ảnh đa cấp xám với điểm ảnh gán nhãn ( BACK-nền, OBJECT-thuộc ký tự) Đầu vào: File ảnh có thuộc tính phù hợp Thủ tục nhằm xác định điểm đại diện cho ký tự dùng thuật toán Baird sử dụng phép biến đổi Hough cho đường thẳng xác định góc nghiêng ảnh văn Để xác định tâm cạnh thủ tục thực bước sau: (a) Dò từ xuống từ trái qua phải để tìm điểm thuộc ký tự (b) Đánh dấu “điểm ký tự” liên thông với điểm tìm (a) (c) Xác định hộp biên quanh vùng liên thông (b) (d) Xác định đánh dấu tâm cạnh đáy hộp biên (c) (e) Xố thành vùng liên thơng tìm (b) (f)Thoát quay lại (a) Sinh viên thực hiện: Lê Thành Long 51 Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn 2.4.4 Thủ tục quay: Trong luận văn tơi có đưa số thủ tục quay cho ảnh đen trắng, ảnh đa cấp xám Nói chung thủ tục quay dừng lại mức tham khảo, chủ yếu thủ tục quay dùng để quay lại ảnh văn xác định góc nghiêng qua thủ tục phần 2.4.3 Đối với thủ tục quay góc đặc biệt ( 90 , 180 ), dùng đặc điểm quan hệ ảnh trước sau quay: - Quay 90 :I(x, y)  - Quay -90 :I(x, y) I(y, width –x)  I(height –y, x)  - Quay 180 :I(x, y) I(height- x, width- y) Trong (height, width) kích thước ảnh sau quay Do dùng đặc điểm nên thủ tục có tốc độ tương đối nhanh, đồng thời phép quay cho ánh xạ một nên độ mịn ảnh quay tuyệt đối Sinh viên thực hiện: Lê Thành Long 52 Ngành Công Nghệ Thông Tin Phát hiệu chỉnh góc nghiêng văn Chương III : Cài đặt chương trình 3.1 Sơ lược chương trình cài đặt Ảnh đầu vào sau đọc xử lý qua giai đoạn tìm tâm cạnh đáy phục vụ cho giai đoạn xử lý góc nghiêng sau Tạo buffer pbuff1[1 h_max][1 w_max] để lưu thông tin phần ảnh, thao tác ảnh chuyển buffer Tạo buffer pbuff2[1 h_max][1 w_max] lưu tâm cạnh đánh dấu Thủ tục Markcc đánh dấu tâm cạnh hộp biên: int ulr, ulc, lrr, lrc; for i:=1 to h_max for j=0 to w_max {Dò từ xuống, từ trái qua phải điểm ảnh thuộc ký tự} if (pBuff1[i][j] == OBJECT) { Mark(pBuff1, i, j, 2); {Đánh dấu “điểm ký tự” liên thông với điểm (i,j)} bBox(pBuff1, i, j, 2, &ulr, &ulc, &lrr, &lrc); {Xác định hộp biên quanh ký tự} pBuff2[lrr][(lrc + ulc)/2] = BACK; {Đánh dấu tâm cạnh đáy hộp biên} UnMark(pBuff1, ulr, ulc, lrr, lrc, 2); {Xoá thành “điểm ký tự” đẫ đánh dấu} } return(pBuff2); /* - */ 53 Sinh viên thực hiện: Lê Thành Long Ngành Cơng Nghệ Thơng Tin Phát hiệu chỉnh góc nghiêng văn Thủ tục Mark: Thủ tục đệ quy đánh dấu “điểm ký tự” liên thông với điểm (i,j): pBuff1[row][col] = (BYTE)MARK ; {MARK: mầu đánh dấu} if (row-1>=1 and col-1>=1 and pBuff1[row-1][col-1]== OBJECT) Mark(pBuff1, row-1, col-1, MARK); if (row-1>=1 and pBuff1[row-1][col]==OBJECT) Mark(pBuff1, row-1, col, MARK); if (row-1>=1 and col+1=1 and pBuff1[row][col-1]==OBJECT) Mark(pBuff1, row, col-1, MARK); if (col+1 < w_max and pBuff1[row][col+1]==OBJECT) Mark(pBuff1, row, col+1, MARK); if (row+1=1 and pBuff1[row+1][col-1]== OBJECT) Mark(pBuff1, row+1, col-1, MARK); if (row+1 < h_max and pBuff1[row+1][col] == OBJECT) Mark(pBuff1, row+1, col, MARK); if (row+1 w_max) je = w_max; else je = J+SIZE; {Tìm toạ lớn , nhỏ theo hàng cột} for i := is to ie for j := js to je if (pBuff1[i][j] == MARK) { if (i < ip1) ip1=i; if (i > ip2) ip2=i; if (j < jp1) jp1=j; if (j > jp2) jp2=j; } *ulr = ip1; {i min} *ulc = jp1; {j min} *lrr = ip2; {i max} *lrc = jp2; {j max} /* -*/ Thủ tục UnMark: Xố vùng liên thơng xác định tâm cạnh đáy for i := is to ie for j := js to je {is, ie, js, je: cửa sổ xác định bBox} Sinh viên thực hiện: Lê Thành Long 55 Ngành Cơng Nghệ Thơng Tin Phát hiệu chỉnh góc nghiêng văn if (pBuff1[i][j] == MARK) pBuff1[i][j] = BACK; Thủ tục Hough: Xác định góc nghiêng dựa buffer pbuff2 lưu tâm cạnh for (int omega=0; omega < 180; omega++) for (int r=0; r < 2*rmax+1; r++) z[omega][r] = (BYTE)0; {Mảng z mảng histogram lưu số điểm đại diện góc omega} {rmax: bán kính cực đại từ tâm đến góc bên trái} for (i=0; i

Ngày đăng: 15/03/2019, 09:58

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan