Module File 4 9-

Một phần của tài liệu nghiên cứu một số kỹ thuật hiệu chỉnh form tài liệu (Trang 58 - 80)

Ở module này, chương trình chứa các chức năng Open (mở tệp ảnh), Save (lưu tệp ảnh), Exit (thoát khỏi chương trình).

(nguồn chương trình của tác giả)

Hình 3.3. Giao diện Module file 3.2.2. Module Basic

Module Basic gồm có 2 chức năng To Gray (chuyển sang ảnh xám) và To Binary (chuyển sang ảnh nhị phân)

(nguồn chương trình của tác giả)

3.2.3. Module Filter

Với module này, người dùng có thể lọc nhiễu bằng ba bộ lọc là lọc trung bình không gian (Space medium Filter), lọc thông thấp (Spacial Low- Pass) và lọc đồng hình (Homomorphic Filter)

(nguồn chương trình của tác giả)

Hình 3.5. Giao diện Module Filter

3.2.4. Module Skew Detection

Với chức năng phát hiện góc nghiêng, người dùng có thể tìm ra góc nghiêng của văn bản sau khi scan và có thể quay lại ảnh cho chính xác với góc nghiêng đã được phát hiện, hoặc có thể điều khiển góc lệch văn bản để kiểm tra độ chính xác của thuật toán với các góc lệch khác nhau, người dùng sẽ được nhập một góc quay bất kỳ rồi sử dụng các chức năng dò góc nghiêng để kiểm tra tính chính xác của thuật toán, chương trình cài đặt 3 thuật toán dò tìm góc nghiêng của ảnh văn bản là thuật toán áp dụng biến đổi Hough, thuật toán láng giềng gần nhất và thuật toán áp dụng phép chiếu nghiêng. Các chức năng phóng to, thu nhỏ cho phép người dùng có thể tăng hoặc giảm kích thước ảnh trước và sau mỗi thao tác cho phù hợp với tầm

quan sát. Chức năng Save ảnh cho phép lưu lại ảnh mới sau khi đã lọc ảnh hay hiệu chỉnh góc nghiêng từ ảnh đầu vào.

(nguồn chương trình của tác giả)

Hình 3.6 Giao diện Module Skew Detection

Sau khi chọn một file ảnh (định dạng bmp, jpg, png) và click chuột chọn chức năng Skew Detection (Hough, K Nearest Neighbor hoặc Project Profile), chương trình sẽ hiển thị góc nghiêng nếu ảnh bị nghiêng hoặc sẽ thông báo không xác định được góc nghiêng cho văn bản với những trường hợp đặc biệt.

3.3. Một số kết quả hiệu chỉnh form tài liệu

Các hình vẽ dưới đây là màn hình giao diện chương trình trước và sau khi hiệu chỉnh góc nghiêng.

Bảng điểm sau khi scan chưa được xử lí

(nguồn chương trình của tác giả)

Hình 3.7. Bảng điểm sau khi scan chƣa đƣợc xử lí

Convert bảng điểm sang ảnh xám

(nguồn chương trình của tác giả)

Convert bảng điểm sang ảnh nhị phân

(nguồn chương trình của tác giả)

Hình 3.9. Bảng điểm sau khi chuyển nhị phân

Lọc trung bình không gian (Space medium Filter)

(nguồn chương trình của tác giả)

Lọc thông thấp (Spacial Low- Pass)

(nguồn chương trình của tác giả)

Hình 3.11. Bảng điểm sau khi đƣợc lọc thông thấp

Lọc đồng hình (Homomorphic Filter)

(nguồn chương trình của tác giả)

Phát hiện độ nghiêng bảng điểm bằng thuật toán Hough

(nguồn chương trình của tác giả)

Hình 3.13. Phát hiện độ nghiêng bảng điểm bằng Hough

Phát hiện độ nghiêng bảng điểm bằng thuật toán phân tích láng giềng

(nguồn chương trình của tác giả)

Phát hiện độ nghiêng bảng điểm bằng thuật toán phân tích hình chiếu

(nguồn chương trình của tác giả)

Hình 3.15. Phát hiện độ nghiêng bảng điểm bằng phân tích hình chiếu

Một số kết quả sau khi thực hiện phép quay

(nguồn chương trình của tác giả)

(nguồn chương trình của tác giả)

Tập dữ liệu là các bảng điểm được tác giả thu thập từ trường THCS Phú Mỹ Hưng để áp dụng hiệu chỉnh độ nghiêng. Kết quả thu được như sau:

Thuật toán Số lượng bảng điểm Kết quả Tỉ lệ

Phân tích hình chiếu 20 19 95%

Biến đổi Hough 20 12 60%

Phân tích láng giềng 20 18 90%

Biến đổi hình thái 20 17 85%

Bảng 1.1. Bảng so sánh kết quả áp dụng các thuật toán vào hiệu chỉnh độ nghiêng bảng điểm

Với kết quả thực nghiệm như trên, ta thấy với tập dữ liệu mẫu thì phương pháp phân tích hình chiếu và phương pháp phân tích láng giềng cho kết quả cao.

PHẦN KẾT LUẬN

Xử lí ảnh là một lĩnh vực rất rộng lớn có nhiều giai đoạn để xử lí, trong mỗi giai đoạn có nhiều vấn đề cần nghiên cứu. Với đề tài “Nghiên cứu một số kỹ thuật hiệu chỉnh form tài liệu” chỉ dừng lại việc hiệu chỉnh độ lệch, độ nghiêng của form tài liệu, cụ thể là áp dụng vào bảng điểm. Đề tài nghiên cứu được thuật toán Histogram để hiệu chỉnh độ lệch form tài liệu. Hiệu chỉnh độ nghiêng form tài liệu thì dùng các thuật toán:

 Thuật toán dựa vào phân tích hình chiếu (Postl, Baird, Nakano)

 Thuật toán dựa vào biến đổi Hough.

 Thuật toán dựa vào phân tích láng giềng.

 Thuật toán dựa vào phép toán hình thái.

Chương trình được phát triển trên hệ điều hành windows, ngôn ngữ lập trình là Visual C#, chương trình thực hiện được những chức năng sau:

 Đọc và hiển thị ảnh.

 Xoay ảnh văn bản một góc bất kỳ.

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

 Hiệu chỉnh lại vị trí văn bản so với bản gốc.

 Ghi lại kết quả sau khi thực hiện.

Luận văn đáp ứng yêu cầu thực tiễn: hiệu chỉnh bảng điểm so với ảnh bảng điểm đầu vào nhằm nâng cao chất lượng các hệ thống nhận dạng bảng điểm, từ đó có thể áp dụng vào các lĩnh vực như tự động thu thập dữ liệu từ các mẫu đơn/báo biểu, tự động xử lý các hoá đơn, tự động phục hồi và copy tài liệu từ các ảnh quét…

Do thời gian có hạn và khả năng còn nhiều hạn chế nên luận văn khó tránh khỏi những sai sót nhất định, rất mong được sự góp ý của thầy cô và bạn bè để luận văn được hoàn thiện hơn.

Hƣớng phát triển tiếp theo của đề tài:

 Thực hiện hiệu chỉnh trên mọi loại ảnh văn bản.

TÀI LIỆU THAM KHẢO

[1] Lương Mạnh Bá, Nguyễn Thanh Thủy “Nhập môn xử lí ảnh”, Đại học Bách khoa hà Nội, Nhà xuất bản Thống kê, 2008.

[2] Đỗ Năng Toàn, Phạm Việt Bình (2008) “Xử lí ảnh”. Đại học Thái Nguyên.

[3] Nguyễn Quang Hoan “Xử lí ảnh”. Học Viên Bưu Chính Viễn Thông, Hà

Nội 2006.

[4] A Amin and S. Fischer, “A Document Skew Detection Method Using the

Hough Transform”, Pattern Analysis & Applications, 2007.

[5] B. V. Dhandra, V. S. Malemath, H. Mallikarjun, and R. Hegadi, “Skew Detection in Binary Image Documents Based on Image Dilation and Region labeling Approach” in Pattern Recognition, 2006. ICPR 2006. 18th International Conference, 2006, pp. 954-957

[6] Manjunath Aradhya, Hemantha Kumar G, and Shivakumara P, “Skew Detection Technique for Binary Document Images based on Hough Transform”. International Journal of Information and Communication Engineering, 2007.

[7] RafeL Dueire Lins and Bruno Tenorio Avila, “A New Algorithm for Skew

Dection in Images of Documents”. Universidade Federal de Pernambuco Recife-PE, Brazil, 2004.

[8] A. K. Das and B. Chanda, “A fast algorithm for skew detection of document images using morphology,” International Journal on Document Analysis and Recognition, vol. 4, pp. 109-114, 2001.

[9] A.K. Das, B.Chada. A fast algorithm for skew detection of document images using morphological. Proc of International Journal on Document Analysis and Recognition, vol.4, 2001.

[10] T. Nguyen Due, B. Vo Dai, M. Nguyen Thi Tu, and G. Nguyen Thuy, “A Robust Document Skew Estimation Algorithm Using Mathematical Morphology,” in Tools with Artificial Intelligence, 2007. ICTAI 2007. 19th IEEE International Conference, 2007, pp.496-503.

[11] Sepideh Barekat Rezaei, Abdolhossein Sarrafzadeh, and Jamshid

Shanbehzadeh, “Skew Detection of Scanned Document Images”. Proceedings of the International MultiConference of Engineers and Computer Scientists 2013 Vol I, IMECS 2013, March 13 - 15, 2013.

[12] Chin-Teng Lin, Kan-Wei Fan, Chang-Mao Yeh, Her-Chang Pu, and Fang-Yi Wu, "High-Accuracy Skew Estimation of Document Images" International Joural of Fuzzy Systems, Vol.8, No.3, September 2006.

[13] Yue Lu, Chew Lim Tan. A nearest-neighbor chain based approach to skew estimation in document images. Pattern Recognition Letters 24 (2003)2315–2323, Department of Computer Science, School of Computing National University of Singapore, Kent Ridge, Singapore 117543, 2003, tr2315-2319.

PHỤ LỤC (Một số định dạng form tài liệu)

P.1. Định dạng ảnh IMG

Là ảnh đen trắng. Phần đầu của ảnh IMG có 16 bytes:

 6 bytes đầu: dùng để đánh dấu định dạng ảnh IMG. Giá trị của 6 bytes này được thể hiện dưới dạng Hecxa như sau: 0x0001 0x0008 0x0001.

 2 bytes tiếp theo: chứa độ dài mẫu tin, gồm các bytes kề liền nhau tạo thành một dãy được lặp lại một số lần và được lưu trong byte đếm. Các dãy giống nhau được lưu trong một byte.

 4 bytes tiếp theo: mô tả kích cỡ pixel.

 2 bytes tiếp theo: số pixel trên một dòng ảnh.

 2 bytes cuối: số dòng ảnh trong ảnh.

Ảnh IMG được nén theo từng dòng, mỗi dòng bao gồm các gói (pack). Các dòng giống nhau cũng được nén thành một gói. Có 4 loại gói sau:

Loại 1: Gói các dòng giống nhau.

Quy cách gói tin này như sau: 0x00 0xFF Count. Ba byte đầu cho biết các dãy giống nhau; byte cuối cho biết số các dòng giống nhau.

Loại 2: Gói các dãy giống nhau

Qui cách gói tin này như sau: 0x00 Count. Byte thứ hai cho biết số các dãy giống nhau được nén trong gói. Độ dài của dãy ghi ở đầu tệp.

Loại 3: Dãy các pixel không giống nhau, không lặp lại và không né được.

Qui cách như sai: 0x80 Count. Byte thứ hai cho biết độ dài dãy các pixel không giống nhau không nén được.

Loại 4: Dãy các pixel giống nhau.

Tùy theo các bit cao của byte đầu được bật hay tắt. Nếu bit cao được bật (giá trị 1) thì đây là gói nén các bytes chỉ gồm bit 0, các số byte được nén được tính bởi 7 bit thấp còn lại. Nếu bit cao tắt (giá trọ 0) thì đây là gói nén các byte gồm toàn bit 1. Số các byte được nén được tính bởi bit thấp còn lại.

Do ảnh IMG là ảnh đen trắng nên các gói tin của file IMG rất phong phú, chỉ cần 1 bit cho 1 pixel thay vì 4 hoặc 8 như đã nói trên. Toàn bộ ảnh chỉ có những điểm sáng và tối tương ứng với giá trị 1 hoặc 0. Tỷ lệ nén của cá kiểu định dạng này là khá cao.

P.2. Định dạng ảnh PCX

Định dạng ảnh PCX là một trong những định dạng ảnh cổ điển nhất. Nó sử dụng phương pháp mã dài RLE (Run-Lenghth-Encoded) để nén dữ liệu ảnh. Quá trình nén vào giải nén được thực hiện trên từng dòng ảnh. Thực tế, phương pháp giải nén PCX kém hiệu quả hơn so với kiểu IMG. Tệp PCX gồm 3 phần: đầu tệp (header), dữ liệu ảnh (image data) và bảng màu mở rộng.

Header của tệp PCX có kích thước cố định gồm 128 byte và được phân bổ như sau:

1 byte: chỉ ra kiểu định dạng. Nếu là PCX/PCC thì nó luôn có giá trị là 0Ah.

1 byte: chỉ ra version sử dụng để nén ảnh, có thể có các giá trị sau:

 0: version 2.5.

 2: version 2.8 với bảng màu.

 3: version 2.8 hay 3.0 không có bảng màu.

 5: version 3.0 có bảng màu.

1 byte: chỉ ra phương pháp mã hóa. Nếu là 0 thì mã hóa theo phương pháp BYTEPACKED, ngược lại là phương pháp RLE.

1 byte: số bit cho một điểm ảnh plane.

1 word: tọa độ góc trái của ảnh. Với kiểu PCX nó có giá trị là (0,0); còn PCC thì khác (0,0).

1 word: tọa độ góc phải dưới.

1 word: kích thước bề rộng và bề cao ảnh.

1 word: số điểm ảnh.

1 word: độ phân giải màn hình.

48 byte: chia nó ra thành 16 nhóm, mỗi nhóm 3 byte. Mỗi nhóm này chứa thông tin về một thanh ghi màu. Như vậy, ta có 16 thanh ghi màu.

1 byte: không dùng đến và luôn đặt là 0.

1 byte: số bit plane mà ảnh sử dụng Với ảnh 16 màu, giá trị này là 4, với ảnh 256 màu (1pixel/8 bit) thì số bit plane là 1.

1 byte: số bytes cho 1 dòng quét ảnh.

1 word: kiểu bảng màu.

58 byte: không dùng.

Tóm lại, định dạng ảnh PCX thường được dùng để lưu trữ ảnh vì thao tác đơn giản, cho phép nén và giải nén nhanh. Tuy nhiên vì cấu trúc của nó cố định, nên trong một số trường hợp nó làm tăng kích thước lưu trữ. Và cũng vì nhược điểm này mà một số ứng dụng lại sử dụng một kiểu định dạng khác mềm dẻo hơn: định dạng TIFF (Targed Image File Format).

P.3. Định dạng ảnh TIFF

Kiểu định dạng TIFF được thiết kế để làm nhẹ bớt các vấn đề liên quan đến việc mở rộng tệp ảnh cố định. Về cấu trúc, nó cũng gồm 3 phần chính:

 Phần Header (IFH): có trong tất cả các tệp TIFF và gồm 8 byte:

1 word: chỉ ra kiểu tạo tệp trên máy tính PC hay Macintosh. Hai loại này khác nhau rất lớn ở thứ tự các byte lưu trữ trong các số dài 2 hay 4 byte. Nếu trường này có giá trị là 4D4Dh thì đó là ảnh cho máy Macintosh; nếu là 4949h là của PC.

1 word: version, luôn có giá trị là 42. Có thể coi đó là đặc trưng của file TIFF vì nó không thay đổi.

2 word: giá trị Offset theo byte tính từ đầu file tới cấu trúc IFD (Image File Directory) là cấu trúc thứ hai của file. Thứ tự các byte ở đây phụ thuộc vào dấu hiệu trường đầu tiên.

 Phần thứ hai (IFD-Inmage File Directory): nó không ở ngay sau cấu trúc IFH mà vị trí của nó được xác định bởi trường Offset trong đầu tệp. Có thể có một hay nhiều IFD cùng tồn tại trong file (nếu file có nhiều hơn 1 ảnh). Một IFD gồm:

2 byte: chứa các DE (Directory Entry).

4 byte: chứa Offset trỏ tới IFD tiếp theo. Nếu đây là IFD cuối cùng thì trường này có giá trị là 0.

 Cấu trúc phần dữ liệu thứ 3: các DE. Các DE có độ dài cố định gồm 12 byte và chia làm 4 phần:

 2 byte: chỉ ra dấu hiệu mà tệp ảnh đã được xây dựng.

 2 byte: kiểu dữ liệu của tham số ảnh. Có 5 kiểu tham số cơ bản:

 1: BYTE (1 byte).

 2: ASCII (1 byte).

 3: SHORT (2 byte).

 4: LONG (4 byte).

 5: RATIONAL (8 byte).

4 byte: trường độ dài (bộ đếm) chứa số lượng chỉ mục của kiểu dữ liệu đã chỉ ra. Nó không phải là tổng số byte cần thiết để lưu trữ. Để có số liệu này ta cần nhân số chỉ mục với kiểu dữ liệu đã dùng.

4 byte: đó là Offset tới điểm bắt đầu dữ liệu thực liên quan tới dấu hiệu, tức là dữ liệu liên quan với DE không phải lưu trữ vật lý cùng với nó nằm ở một vị trí nào đó trong file.

Dữ liệu chứa trong tệp thường được tổ chức thành các nhóm dòng (cột) quét của dữ liệu ảnh. Cách tổ chức này làm giảm bộ nhớ cần thiết cho việc đọc tệp. Việc giải nén được thực hiện theo bốn kiểu khác nhau được lưu trữ trong byte dấu hiệu nén.

Như đã nói ở trên, file ảnh TIFF là dùng để giải quyết vấn đề khó mở rộng của file PCX. Tuy nhiên, với cùng một ảnh thì việc dùng file PCX chiếm ít không gian nhớ hơn.

P.4. Định dạng ảnh GIF (Graphics Interchanger Format)

Định dạng GIF do hãng ComputServer Incorated (Mỹ) đề xuất năm 1990. Định dạng GIF sử dụng thuật toán nén LZW (Lempel-Ziv-Welch). Kỹ thuật LZW là dựa vào sự lặp lại của một nhóm điểm chứ không phải một dãy giống nhau. Do vậy, dữ liệu càng lớn thì sự lặp lại càng nhiều. Với tính năng này định dạng GIF đã

giải quyết những ảnh có số màu lớn như ảnh có 256 màu thì chất lượng màu càng cao, độ phân giải đồ họa cũng đạt cao.

Định dạng tổng quát của ảnh GIF như sau:

Chữ ký ảnh GIF: có giá trị là GIF87a. Nó gồm 6 ký tự, 3 ký tự dđầu chỉ ra kiểu định dạng, 3 ký tự sau chỉ ra version của ảnh.

Bộ hình hiển thị: chứa mô tả các thông số cho toàn bộ ảnh GIF:

 Độ rộng hình raster theo pixel: 2 byte;

 Độ cao hình raster theo pixel: 2 byte;

 Các thông tin về bản đồ màu, hình hiển thị…

 Thông tin màu nền: 1 byte;

 Phần chưa dùng: 1 byte.

Bản đồ màu tổng thể: mô tả bộ màu tối ưu đòi hỏi khi bit M=1. Khi bộ màu tổng thể được thể hiện, nó sẽ xác lập ngay bộ mô tả hình hiển thị. Số lượng thực thể bản đồ màu lấy theo bộ mô tả hình hiển thị ở trên và bằng 2m, với m là lượng bit trên 1 pixel khi mỗi thực thể chứa đựng 3 byte (biểu diễn cường độ màu của ba màu cơ bản Red-Green-Blue). Cấu trúc của khối này như sau:

Một phần của tài liệu nghiên cứu một số kỹ thuật hiệu chỉnh form tài liệu (Trang 58 - 80)

Tải bản đầy đủ (PDF)

(80 trang)