Vì vậy, với mục tiêu đưa ra đưa ra một sản phẩm phục vụ tốt cho các kì thi trắc nghiệm và mang tính phi thương mại, và cùng với sự hướng dẫn tận tình của thầy “ĐẬU TRỌNG HIỂN” nhóm đã
Trang 1THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO NGHIÊN CỨU KHOA HỌC
THIẾT KẾ PHẦN MỀM CHẤM THI TRẮC NGHIỆM
S 0 9
S 0 6
S KC 0 0 2 7 5 9
Trang 2KHOA ĐIỆN - ĐIỆN TỬ
- -
BÁO CÁO NGHIÊN CỨU KHOA HỌC
Trang 3Bô ̣ Giáo Du ̣c Và Đào Ta ̣o
Trường Đa ̣i Ho ̣c Sư Pha ̣m Kỹ Thuâ ̣t
Khoa Điê ̣n – Điê ̣n Tử
Cô ̣ng Hòa Xã Hô ̣i Chủ Nghĩa Viê ̣t Nam Độc Lập – Tự Do – Hạnh Phúc
2./ Phần tri ̀nh bài: Các cơ sở lý thuyết có liên quan và hệ thống
3./ Giáo viên hướng dẫn: Thầy ĐẬU TRỌNG HIỂN
4./ Nhóm sinh viên thực hiện:
Họ và Tên : Nguyễn Đă ̣ng Hoàng Biển MSSV : 07119002
Họ và Tên : Nhữ Quang Thắng MSSV : 07119047
Họ và Tên : Huỳnh Văn Tuân MSSV : 07119054
Giáo Viên Hướng Dẫn Thông Qua Bô ̣ Môn
Ngày tháng năm 2011 Chủ nhiệm bộ môn
ĐẬU TRỌNG HIỂN
Trang 4NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Giáo viên hướng dẫn
Ký tên
Trang 5NHẬN XÉT CỦA HỘI ĐỒNG GIÁO VIÊN CHẤM
Hội đồng giáo viên chấm
Ký tên
Trang 6LỜI MỞ ĐẦU Chương trình giáo dục nước ta ngày càng được nâng cao, các hình thức thi cử có nhiều đổi mới Đặc biệt là các kì thi mang tính quốc gia, hầu hết các môn thi đều thi theo hình thức trắc nghiệm Kiểu thi trắc nghiệm có nhiều ưu điểm hơn so với kiểu thi
tự luận cũ: nội dung câu hỏi bao quát suốt chương trình học tập, khách quan so với thi
tự luận, phân chia mức độ học tập của học sinh và sinh viên chặt chẽ hơn và đặt biệt là việc chấm thi được thực hiện rất nhanh gọn và cực kì chính xác nhờ sự hổ trợ của máy tính Chấm thi trắc nghiệm bằng máy tính, đây là một đề tài mà nhiều trường và tổ chức khoa học nghiên cứu nhầm đưa ra sản phẩm phục vụ tốt nhất cho các kì thi trắc nghiệm Tuy nhiên, do đây là một lĩnh vực nghiên cứu mới phát triển gần đây nên hầu hết các sản phẩm đều mang tính thương mại cao, rất ít sản phẩm mang tính phi thương mại Vì vậy, với mục tiêu đưa ra đưa ra một sản phẩm phục vụ tốt cho các kì thi trắc nghiệm và mang tính phi thương mại, và cùng với sự hướng dẫn tận tình của thầy
“ĐẬU TRỌNG HIỂN” nhóm đã tiến hành nghiên cứu và thực hiện đề tài nghiên cứu khoa học “Thiết kế chương trình chấm thi trắc nghiệm”
Do chỉ mới bước đầu nghiên cứu nên sản phẩm chưa thật hoàn chỉnh, mong được
sự đóng góp của các thầy cô và các bạn sinh viên để đưa sản phẩm phục ngày càng hoàn thiện hơn
Nhóm thực hiện
Trang 7MỤC LỤC
Trang
Nhiệm vụ nghiên cứu khoa học 1
Nhận xét của giáo viên hướng dẫn 2
Nhận xét của hội đồng giáo viên chấm 3
Lời mở đầu 4
TÓM TẮT ĐỀ TÀI 6
Phần 1: ĐẶT VẤN ĐỀ 7
I ĐỐI TƯỢNG NGHIÊN CỨU: 7
II TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC: 7
III NHỮNG VẤN ĐỀ CÒN TỒN TẠI: 7
Phần 2: GIẢI QUYẾT VẤN ĐỀ 8
I MỤC ĐÍCH ĐỀ TÀI: 8
II PHƯƠNG PHÁP NGHIÊN CỨU: 8
III NỘI DUNG: 8
IV KẾT QUẢ ĐẠT ĐƯỢC: 12
Phần 3: KẾT LUẬN 13
I KẾT LUẬN: 13
II ĐỀ NGHỊ: 13
Phần Phụ lục 14
TÀI LIỆU THAM KHẢO 20
Trang 8TÓM TẮT ĐỀ TÀI
Thiết kế sản phẩm dạng phần mềm Phần mềm của nhóm có nhiệm vụ cơ bản là xử
lý một phiếu kết quả trắc nghiệm nhằm đưa ra điểm số và một số thông tin cơ bản của thí sinh Nội dung phần mềm bao gồm các module nhỏ thực hiện các công việc riêng Các module chính:
Module cập nhật và biến đổi ảnh
Module xoay ảnh
Module thay đổi kích thước ảnh
Module dò kết quả dùng giản đồ Histogram
Module cập nhật thông tin thí sinh dùng Histogram
Nhiệm vụ cơ bản từng Module:
Module cập nhật và biến đổi ảnh:
- Cập nhật ảnh từ tập tin ảnh
- Đưa ảnh màu về ảnh xám
- Đưa ảnh xám về ảnh nhị phân
Module xoay ảnh
- Xoay ảnh bị nghiên trong quá trình quét ảnh
- Module thay đổi kích thước ảnh
- Điều chỉnh kích thước ảnh về kích thước chuẩn để xử lý
Module dò kết quả dùng giản đồ Histogram
- Quét kết quả điền trong phiếu trắc nghiệm
Module cập nhật thông tin thí sinh dùng Histogram
- Quét một số thông tin thí sinh
Trang 9PHẦN 1: ĐẶT VẤN ĐỀ
I ĐỐI TƯỢNG NGHIÊN CỨU:
- Nhóm tập trung nghiên cứu hai vấn chính:
- Nghiên cứu và phát triển một số giải thuật xử lí ảnh
- Nghiên cứu và thiết kế chương trình dựa trên các giải thuật xử lí ảnh bằng ngôn ngữ C#
II TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC:
- Hiện tại các đề tài về số hóa việc chấm thi trắc nghiệm được phát triển rộng khắp trên thế giới Ở nước ta, do hình thức thi trắc nghiệm vừa xuất hiện cách đây không lâu nên số lượng các đề tài nghiên cứu không nhiều nhưng sẽ là một
đề tài đầy triển vọng cho các mục đích nghiên cứu và học tập
III NHỮNG VẤN ĐỀ CÒN TỒN TẠI:
- Do nhóm chỉ mới bước đầu nghiên cứu nên phát triển đề tài về mặt phần mềm
- Các giải thuật lập trình chưa thật sự tối ưu
- Khó tránh sai sót trong quá trình chấm nhưng với tỉ lệ thấp
Trang 10PHẦN 2: GIẢI QUYẾT VẤN ĐỀ
I MỤC ĐÍCH ĐỀ TÀI:
Từ các phiếu kết quả thi trắc nghiệm đã được quét và lưu trữ trong máy tính, phần mềm thiết kế trong đề tài phải có chức năng tải các phiếu đã quét vào máy tính và cập nhật kết quả chấm, sau đó tiến hành xử lí và tính toán để đưa ra điểm
số và một vài thông tin thí sinh giúp cho việc chấm thi trắc nghiệm diễn ra nhanh chóng và chính xác Nhằm tiết kiệm chi phí chấm thi và thời gian chấm bài thi cho các kì thi
II PHƯƠNG PHÁP NGHIÊN CỨU:
Để hoàn thành đề tài, nhóm đã tiến hành một số bước như sau:
Phát thảo và lập lịch sơ bộ các công việc cần thực hiện trong đề tài và tiến hành phân chia nhiệm vụ cho từng thành viên trong nhóm
Sưu tầm các tài liệu về xử lí ảnh và lập trình
Nghiên cứu các thuật toán xử lí ảnh
Tìm hiểu ngôn ngữ C#
Ứng dụng các thuật toán có liên quan vào chương trình
Tổng hợp và phát triển các Module
Biên dịch chương trình và đối chiếu kết quả
Xử lí lỗi và hoàn thiện chương trình
III NỘI DUNG:
Căn cứ theo các bước thực hiện nghiên cứu đề tài đã nêu ra, sau đây là nội dung các công việc mà nhóm thực hiện:
1 Phát thảo và lập lịch sơ bộ các công việc cần thực hiện:
Ban đầu được sự gợi ý và hướng dẫn của thầy “Đậu Trọng Hiển” nhằm định
hình được các đối tượng mà nhóm phải làm việc, các công việc mà nhóm cần phải làm
Sau khi xác định được đối tượng làm việc và các công việc cần phải làm, nhóm tiến hành phân chia nhiệm vụ:
- Nguyễn Đặng Hoàng Biển: Nghiên cứu về giản đồ Histogram, ứng dụng giản đồ Histogram vào việc dò kết quả đánh trắc nghiệm và thông tin thí sinh
- Nhữ Quang Thắng: Nghiên cứu giải thuật biến đổi từ ảnh màu sang ảnh xám, ảnh xám sang ảnh nhị phân
Trang 11- Huỳnh Văn Tuân: Nghiên cứu giải thuật xoay ảnh và điều chỉnh kích thước ảnh
Thiết kế giao diện chương trình người dùng:
Hình 2.1: Giao diện chương trình
2 Sưu tầm các tài liệu về xử lí ảnh và lập trình:
Do đề tài có liên quan đến việc xử lý ảnh bằng máy tính nên nhóm tiến hành tìm một số tài liệu có liên quan đến một số vấn đề trong đề tài như:
Vì thế, nhóm đã quyết định lựa chọn ngôn ngữ C# để viết phần mềm Bước đầu nghiêm cứu tuy cũng gặp nhiều khó khăn do việc tìm hiểu ngôn ngữ mới
Trang 12nhưng do được phát triển từ ngôn ngữ C, C++ nên nhóm cũng đã dần nắm bắt được phần nào để xây dựng chương trình
4 Ứng dụng các thuật toán có liên quan vào chương trình:
Hầu hết các thuật toán mà nhóm tìm hiểu đều được viết dưới dạng mô tả và viết bằng ngôn ngữ khác nên nhóm phải tiến hành nghiên cứu, đọc hiểu sau đó viết lại các thuật toán đó bằng ngôn ngữ C#
5 Tổng hợp và phát triển các Module:
Với các Module chính đã trình bày bên trên, sau đây là ý tưởng để nhóm phát triển các Module:
a Module cập nhật và biến đổi ảnh:
- Nhằm cải thiện tốc độ xử lí ảnh, nhóm đã tiến hành xây dựng một ma trận lưu trữ giá trị các điểm ảnh và xử lý trên ma trân đó Sau khi xử lí xong thì cập nhật lại các giá trị trong ma trận vào ảnh khi cần
- Biến đổi ảnh:
Biến đổi ảnh màu thành ảnh xám, do ảnh khi được quét và lưu trữ trong máy tính nên đôi khi được quét thành ảnh xám hay ảnh màu Vì thế nhóm đã chuyển ảnh cập nhật từ máy tính thành ảnh xám nhằm thuận tiện cho việc xử lí, các công thức chuyển đổi:
Gray = (R + G + B) / 3
Gray = (R * 0.287 + G * 0.599 + B * 0.114)
Gray: giá trị điểm ảnh xám
R: giá trị thành phần màu đỏ
G: giá trị thành phần màu xanh lá
B: giá trị thành phần màu xanh dương
→
Hình 2.2: Chuyển ảnh màu thành ảnh xám
Sau khi chuyển từ ảnh màu thành ảnh xám, chương trình tiến hành chuyển ảnh xám thành ảnh nhị phân, công thức chuyển đổi:
Pixel = 0 nếu Gray ≤ 128
Pixel = 255 nếu Gray > 128
Trang 13Pixel: giá trị điểm ảnh nhị phân
- Ý tưởng là ta cần phải dò góc nghiên của ảnh dựa trên các đường biên ngang
và biên dọc Sau đó ta xoay lại bằng hàm hỗ trợ của C#
c Module thay đổi kích thước ảnh:
- Khi xử lí ảnh, ảnh càng lớn thì tốc độ thực thi của chương trình càng chậm,
do vậy chương trình cần phải đưa ảnh từ kích thước lớn hơn thành ảnh có kích thước nhỏ hơn
- Ý tưởng hình thành thuật toán là co các giá trị điểm ảnh lân cận về một điểm ảnh và tính toán xem giá trị điểm ảnh là đen hay trắng
d Module dò kết quả dùng giản đồ Histogram:
- Giản đồ Histogram là giản đồ mô tả các điểm ảnh có cùng mức xám, do ta xử
lí ma trận ảnh nhị phân nên giản đồ Histogram sẽ là giản đồ của màu đen
- Ứng dụng Histogram, chương trình sẽ tiến hành tính toán các điểm ảnh có màu đen lại với nhau và xác định ngưỡng lân cận biên của các ô đáp án
- Sau khi tìm được ngưỡng lân cân biên của các ô đáp án, chương trình sẽ tiến hành dò tìm ô đáp án đã được bôi đen và cho kết quả
Hình 2.4: Biên lân cận theo giản đồ Histogram
Đường dọc: Biên lân cận trái và phải ô đáp án
Đường ngang: Biên lân cận trên và dưới ô đáp án
e Module cập nhật thông tin thí sinh dùng Histogram:
Trang 14- Ứng dụng giản đồ Histogram tương tự với Module dò kết quả
6 Biên dịch chương trình và đối chiếu kết quả:
- Sau khi xây dựng thành công các Module, nhóm đã tiến hành biên dịch thành chương trình hoàn chỉnh với đầy đủ các chức năng đã đề ra ban đầu và tiến hành kiểm tra kết quả sau khi thực thi chương trình với thực tế
7 Xử lí lỗi và hoàn thiện chương trình
- Xử lí các lỗi phát sinh và tiến hành cải tiến các thuật toán nhằm cải thiện tốc
độ hoạt động của chương trình
IV KẾT QUẢ ĐẠT ĐƯỢC:
Sau một khoảng thời gian nghiên cứu và thiết kế, nhóm đã thu được một số kết quả sau:
- Hoàn tất chương trình chấm trắc nghiệm
- Xây dựng đầy đủ các Mudule theo dự định
- Cải tiến, sữa đổi và xử lí lỗi chương trình mức tốt nhất hiện có
- Thời gian chương trình thực thi được cải thiện nhiều so với chấm bằng tay
- Kết quả chấm khá chính xác
Hình 2.5: Kết quả sau khi thực thi chương trình.
Trang 15PHẦN 3: KẾT LUẬN
I KẾT LUẬN:
- Do sản phẩm mới bước đầu được nhóm nghiên cứu thiết kế nên còn nhiều mặc hạn chế nên chưa thể đưa ra sử dụng rộng rãi Tuy nhiên, do sản phẩm được nhóm thiết kế thành các module nên khả năng nâng cấp và đưa vào sử dụng thực
tế sẽ dễ dàng hơn Sản phẩm dừng lại ở mức phần mềm nhưng nếu kết hợp tốt với phần cứng thì sẽ trở thành một sản phẩn hoàn chỉnh và có thể được sử dụng rộng rãi
II ĐỀ NGHỊ:
- Đây là một đề tài nghiên cứu tương đối mới đối với nhiều bạn sinh viên, nhưng với kết quả mà nhóm đạt được thì đây cũng có thể xem là một trong các hướng nghiên cứu và phát triển các đề tài khoa học Nếu đề tài tiếp tục phát triển cao hơn thì có thể áp dụng vào thực tiễn nhằm đáp ứng được mục đích của đề tài đã nêu ra
Trang 16Phần Phụ lục
Lưu đồ giải thuật một số Module chính trong chương trình
1 Chuyển ảnh màu thành ảnh xám:
Trang 172 Chuyển ảnh xám thành ảnh nhị phân:
Trang 183 Thay đổi kích thước ảnh:
Trang 194 Lấy Histogram theo trục Y:
Trang 205 Lấy Histogram theo trục X:
Trang 216 Cập nhật giá trị điểm ảnh:
Trang 22TÀI LIỆU THAM KHẢO
Lương Mạnh Bá, Nguyễn Thanh Thủy; Nhập môn Xử lý ảnh số; NXB Khoa Học và