Phân ngưỡng ảnh quét

Một phần của tài liệu Nghiên cứu kỹ thuật định vị, tách và nhân dạng vùng tô trong phiếu trắc nghiệm (Trang 60 - 67)

Sau khi thực hiện tách kênh màu đỏ, ta thu được ảnh cấp xám 8 bits. Ta thực hiện phân ngưỡng trên ảnh xám này để thu được ảnh đen trắng. Trong phạm vi đề tài này, như đã trình bày ở Chương 2, ta sử dụng thuật toán SIS để thực hiện phân ngưỡng cho ảnh xám. Kết quả thực nghiệm cho thấy, thuật toán SIS cho hiệu quả rất tốt trên chương trình.

Hình 3.4. Ảnh sau khi thực hiện phân ngưỡng và lọc nhiễu 3.2.3. Lọc nhiễu trên ảnh quét

Để lọc nhiễu ảnh, ta sử dụng bộ lọc Median. Để thực hiện lọc Median trong lân cận của một pixel chúng ta sắp xếp các giá trị của pixel và các lân cận, xác định trung vị Median và định giá trị pixel. Ví dụ như một lân cận 3x3 có các giá trị: 10, 20, 20, 20, 15, 20, 20, 25, 100. Các giá trị này được sắp xếp lại theo thứ tự từ thấp đến cao: 10, 15, 20, 20, 20, 20, 20, 25, 100. Giá trị median là 20. Do đó về nguyên lý thì mạch median có thể tách được các điểm có cường độ sáng lớn như nhiễu xung và lọc các điểm có cường độ sáng tức thì (xung) hay còn gọi là các nhiễu muối tiêu.

53

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Trong chương trình thử nghiệm, xử lý lọc Median được áp dụng cho ảnh sau khi đã thực hiện phân ngưỡng.

3.2.4. Căn chỉnh độ lệch trang của ảnh sau khi quét

Để xác định được độ lệch của ảnh phiếu thi sau khi quét qua máy quét, ta dựa vào ba vị trí đánh dấu ở góc trên bên trái, góc trên bên phải và góc dưới bên phải của ảnh bài thi đưa vào. Tuy nhiên, do phiếu thi có khổ giấy A4 và quá trình quét ảnh đầu vào là quét theo chiều dọc của phiếu thi, nên để xác định độ lệch của ảnh ta chỉ cần dựa trên tọa độ điểm đánh dấu góc trên bên phải và góc dưới bên phải. Ta tính góc nghiêng của ảnh quét bằng góc giữa đường thằng nối điểm đánh dấu góc trên bên phải và góc dưới bên phải với trục tọa độ OY theo công thức:

Góc lệch = 90o – arctan(Y2-Y1, X2-X1)*180/π

Trong đó, (X1, Y1) là tọa độ góc trên bên phải, (X2, Y2) là tọa độ góc dưới bên phải.

Để thực hiện quay ảnh với góc lệch vừa nhận được, có thể sử dụng hàm Rotate trong thư viện EmguCV.DLL hoặc sử dụng phương thức RotateNearestNeighbor trong thư viện của bộ AForge.NET.

Hình 3.5. Ảnh đã thực hiện căn chỉnh độ lệch Góc lệch của ảnh quét

54

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

3.3. Xác định điểm định vị

Hình 3.6. Xác định điểm định vị

Trên mỗi bài thi trắc nghiệm được quét có 4 điểm định vị được cố định ở 4 góc của bài thi, tuy nhiên ta chỉ cần xác định 3 điểm định vị, đó là các điểm ở góc trái-trên, phải-trên và phải-dưới. Xác định điểm định vị rất quan trọng đối với việc khoanh vùng tô và nhận dạng các vùng tô.

3.4. Khoanh vùng đƣợc tô

Do kích thước các vùng ảnh cần tách đã được xác định, khoảng cách từ các điểm định vị tới các vùng đã được xác định, ta có thể sử dụng hàm cắt ảnh cropimage của thư viện AForge.Imaging.dll để thực hiện cắt các ảnh con. Các ảnh con sau khi cắt sẽ được số hóa để thực hiện nhận dạng các ô và kiểm tra xem liệu một ô có được tô hay không

3.5. Nhận dạng ô đƣợc tô

Trong ảnh phiếu trả lời trắc nghiệm, có 3 vùng cần phải được xử lý, bao gồm:

Tọa độ 3 điểm định vị được phát hiện

(trái-trên, phải-trên và phải-dưới)

55

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Vùng tô chứa thông tin số báo danh:

Hình 3.7. Vùng chứa số báo danh

Vùng tô chứa thông tin mã đề:

Hình 3.8. Vùng chứa mã đề Vùng tô chứa các đáp án: vùng này được bao bởi hai đường kẻ dài phía trên và phía dưới, khoảng cách giữa các ô tròn là như nhau và được xác định. Số câu trả lời tối đa có thể lên đến 100 câu. Tuy nhiên, theo đề ra của Bộ Giáo dục và đào tạo những năm gần đây với đề thi môn Lý và môn Hóa, trong phần trả lời câu hỏi, thí sinh chỉ phải trả lời 40 câu kiến thức chung và 10 câu nhiệm ý. Ở mỗi câu hỏi, thí sinh sẽ lựa chọn một trong bốn đáp án A, B, C, D và không được bôi đen nhiều hơn một ô trong cùng một câu hỏi. Nếu một câu nào đó có từ 2 ô được tô trở lên sẽ coi là bị trùng và không tính điểm câu đấy.

56

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

Trong chương trình thử nghiệm, ta sử dụng cách thứ 2 đã trình bày ở chương 2 để nhận dạng các ô được tô trong ảnh.

Hình 3.10. Nhận dạng vùng tô

Hình 3.11. Kết quả nhận dạng phiếu trả lời trắc nghiệm

Kết quả nhận dạng số báo danh, mã đề và đáp án trả lời

57

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

3.6. Kết quả thử nghiệm

Chương trình thử nghiệm được viết bằng ngôn ngữ Visual C# trong bộ công cụ Visual Studio 2010, chạy trên hệ điều hành XP hoặc Windows 7. Trong chương trình có sử dụng thư viện ảnh nguồn mở EmguCV và AForge.NET.

Quá trình chạy chương trình thử nghiệm với 50 ảnh đầu vào ở độ phân giải 300dpi, kích thước 2471 x 3494 pixel với độ lệch mẫu không quá 3 độ cho kết quả khá tốt. Có thể thấy chất lượng máy quét đóng vai trò rất quan trọng trong quá trình nhận dạng sau này. Nếu chất lượng máy quét tốt thì tốc độ quét sẽ nhanh, chất lượng ảnh đầu vào cao và độ lệch mẫu bé sẽ giúp giảm thời gian xử lý, tăng độ chính xác khi nhận dạng phiếu thi.

So sánh chương trình này với phần mềm nhận dạng bài thi trắc nghiệm được nhiều trường sử dụng – McSCANNER (Công ty Phần mềm Anh Quân), chương trình của tác giả có một số ưu điểm sau:

McSCANNER Chƣơng trình của tác giả

- Không sử dụng các điểm định vị trong quá trình nhận dạng vùng tô - Không điều chỉnh, xoay bài thi trước

khi nhận dạng

- Không phân ngưỡng, lọc nhiễu ảnh trước khi nhận dạng, dẫn tới việc nhận dạng vùng tô thiếu chính xác trong một số trường hợp

- Có sử dụng 3/4 điểm định vị trong quá trình nhận dạng vùng tô

- Có điều chỉnh, xoay bài thi trước khi nhận dạng, giúp cho việc nhận dạng vùng tô được chính xác

- Có phân ngưỡng, lọc nhiễu ảnh trước khi nhận dạng, giúp cho việc nhận dạng vùng tô được chính xác

58

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

KẾT LUẬN

Trong thời gian nghiên cứu và thực hiện đề tài, tác giả đã đạt được một số kết quả như sau:

- Tìm hiểu được các khái niệm và một số thuật toán cơ bản trong nhận dạng và xử lý ảnh, ứng dụng vào thực tiễn.

- Tìm hiểu được quy trình làm việc của hệ thống nhận dạng phiếu thi trắc nghiệm và các giai đoạn xử lý phiếu trả lời câu hỏi trắc nghiệm.

- Phát triển thêm một ứng dụng về nhận dạng và chấm thi trắc nghiệm dựa trên máy quét. Đây cũng là mô hình hiện đang được áp dụng lại cơ quan làm việc hiện tại, góp phần giảm chi phí trong quá trình tuyển sinh. Trong tương lai, nếu có thể phát triển đề tài này, sẽ giảm chi phí mua phần mềm từ bên ngoài cho nhà trường.

Ngoài những kết quả đã đạt được, vẫn còn một số các thiếu sót tồn tại:

- Việc xử lý ảnh đầu vào chưa được như ý, chất lượng ảnh yêu cầu còn cao, những ảnh đầu vào bị nhăn hoặc mất góc chưa nhận dạng được. Hướng phát triển tiếp theo:

- Tiếp tục nghiên cứu về nhận dạng trên phiếu thi trắc nghiệm một cách tổng quát hơn, cho phép xử lý nhiều dạng phiếu thi khác nhau với độ chính xác cao hơn.

- Chuẩn hóa cơ sở dữ liệu, xây dựng ứng dụng chấm điểm đồng bộ với hệ thống nhận dạng.

- Tiếp tục nghiên cứu, ứng dụng nhận dạng cho các mẫu phiếu khác như phiếu khảo sát, đánh giá, thăm dò ý kiến, bầu cử.

- Tác giả mong muốn có thể tiếp tục phát triển để đưa các kết quả nghiên cứu vào ứng dụng trong thực tế. (adsbygoogle = window.adsbygoogle || []).push({});

59

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

TÀI LIỆU THAM KHẢO

Tài liệu Tiếng Việt

[1] Hoàng Kiếm (chủ biên) – Dương Anh Đức – Lê Đình Duy – Vũ Hải Quân, Cơ Sở Đồ Họa Máy Tính, tái bản lần thứ 3, Nhà xuất bản Giáo dục, 2000.

[2] Phạm Việt Bình, Đỗ Năng Toàn, Giáo trình xử lý ảnh, Khoa Công nghệ thông tin - Đại học Thái Nguyên, 2007.

[3] Đỗ Năng Toàn, Nghiên cứu một số phương pháp biểu diễn hình dạng và ứng dụng trong nhận dạng ảnh, Luận án tiến sĩ, 2001.

[4] Phạm Việt Bình, Phát triển kỹ thuật dò biên, phát hiện biên và ứng dụng, Luận án tiến sĩ khoa học, 2006.

Tài liệu Tiếng Anh

[5] Bryan S. Morse, Lecture 15: Segmentation (Edge Based, Hough Transform), Brigham Young University, 1998–2000.

[6] Charles Petzold, Programming Windows With C#, Microsoft Press, Redmond, Washington, 2001.

Cộng đồng mạng

[7] The Source Forge, www.sourceforge.net [8] The Code Project, www.codeproject.com

Một phần của tài liệu Nghiên cứu kỹ thuật định vị, tách và nhân dạng vùng tô trong phiếu trắc nghiệm (Trang 60 - 67)