已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大学大学 2013 20142013 2014 学年第二学期课程考核学年第二学期课程考核 图像处理图像处理 综合设计报告综合设计报告 基于数字图像处理技术的答题卡识别方法基于数字图像处理技术的答题卡识别方法 学 号 姓 名 班 级 日 期 本人郑重声明 本人认真 独立完成了查找资料 编写程序 撰写报告等考核任务 签字 日期 摘摘 要要 背景 随着科技的发展 电子与计算机技术的进步 答题卡的出现大大减 轻教学工作者们批改试卷的工作量 答题卡是光标阅读机输入信息 的载体 是配套光标阅读机的各种信息录入表格的总称 答题卡将 用户需要的信息转化为可选择的选项 供用户涂写 OMR 是用光学 扫描的方法来识别按一定格式印刷或书写的标记 并将其转换为计 算机能接受的电信号的设备 并根据信息点的涂与未涂和格式文件 设置将信息还原 因此 如何将答题卡填涂的黑色区域识别出来并 使用计算机进行处理是极为关键的 本论文探索了有效识别答题卡 的方法 以 matlab 为工具 基于数字图像处理技术对答题卡填涂区 域进行了识别 并对识别的结果进行了处理 得到了结果 本论文 利用 Hough 变换的直线检测技术检测图像的倾斜度 判断图像是否 倾斜 对存在倾斜的图像进行旋转校正 最终实现答题卡答案的定 位和检测 论文使用像素统计方法进行识别 利用黑白颜色灰度值 的巨大差异对二值图像的灰度值进行累加并进行阈值判定 识别错 误效率极低 能够准确的识别答题卡的涂卡标记 关键词 Hough 变换 答题卡识别 matlab 一 设计任务 目的和要求一 设计任务 目的和要求 本设计以 matlab 为工具利用数字图像处理技术对答题卡进行了识别 并对识别 结果进行了处理 注意到答题卡在采集图像的过程中由于各种原因可能会产生 图像倾斜 水平或垂直错位 要进行正确识别首先必须对其进行校正 再依据 像素检索技术进行识别 二 总体方案设计二 总体方案设计 说明系统运行环境 编程软件平台 编码算法原理 算法流程图设计 本系统运行在当今主流的 Windows7 系统 使用较新的 MATLAB2012b 进行设 计 在进行旋转校正时 先使用 Hough 变换检测出答题卡边缘直线 调用 lines 函数的参数得到倾斜角度并进行旋转变换从而消除答题卡倾斜状态 将扫描部 分分为 7 个扫描区域 分别使用像素检索技术 对各个检索区域内的灰度值进 行累加 并对累加和进行阈值判定 从而得出检索区域颜色 完成判定 最后 再与标准答案进行比对 得出成绩 流程图 是 是 否 灰度化 Hough 变换 图像倾斜吗 开始 测量各个扫描区 域的起始坐标 图像旋转 三 程序设计三 程序设计 clc clear close A imread 原图 jpg 读取图像 imshow A title 原图 gray rgb2gray A bw edge gray canny canny 算子边缘检测得到二值边缘图像 h t r hough bw RhoResolution 0 5 ThetaResolution 0 5 Hough 变换 figure imshow imadjust mat2gray h XData t YData r InitialMagnification fit titl e Hough 变换矩阵 显示 Hough 变换矩阵 xlabel theta ylabel rho axis on axis normal hold on P houghpeaks h 2 x t P 2 y r P 1 plot x y s color r title 获取并标出参数平面的峰值点 lines houghlines bw t r P FillGap 5 Minlength 7 检测图像中的直线段 figure imshow gray hold on max len 0 for i 1 length lines xy lines i point1 lines i point2 分别依次统计各大扫 描区域内各个检测区 域的灰度值 阈值判定 得出所检 测区域颜色并赋值 与标准答案比对算出 成绩 结束 plot xy 1 xy 2 LineWidth 2 Color g 用绿色线段标注直线段 plot xy 1 xy 1 2 x LineWidth 2 Color y plot xy 1 xy 2 2 x LineWidth 2 Color r 标注直线段端点 end x lines theta 由与图像边缘平行的直线段的斜率得到整个图像旋转的角度 B imrotate gray x 图像修正 figure imshow B title 旋转后图像 T graythresh B 使用 OTSU 方法获得阀值 T result im2bw B T 二值化图像 figure imshow result title 二值化后结果 扫描区域 在本程序中 有 7 个扫描区域 分别对应题号为 1 5 6 10 11 15 16 20 21 25 26 30 31 35 这几个区域 n 52 m 244 首先测得答题区域第一题 A 选项左上角的坐标 52 244 s 60 t 90 s 为上下两个扫描区域的距离 t 为左右两个扫描区域的距离 P 4 Q 5 P 为字母项的个数 这里有 ABCD 共有 4 项 Q 为每个小区域选项 数 interval length 14 左右相邻两题填涂区域左边线的距离 interval width 9 上下相邻两题填涂区域上边线的距离 length 11 填涂区域的长度 width 6 填涂区域的宽度 a2 zeros 4 5 初始化灰度值统计矩阵 第 1 5 题区域的检测 for P 1 4 for Q 1 5 m 244 n 52 第 1 5 题区域的检测的起始坐标 即第一题 A 选项左 上角的坐标 a1 result m P 1 interval width 1 m P 1 interval width 1 width n Q 1 interval length 1 n Q 1 interval length 1 length 得到矩形区域内各像素的灰度值 sum1 sum sum a1 计算统计的矩形区域内像素灰度值之和 a2 P Q sum1 多次循环后得到 20 个统计区域的灰度值 并依次放在 a2 矩阵中 end end a2 a2 81 0 对灰度值统计矩阵里的数值进行处理 大于某一阀值的值赋 1 其余的赋 0 在此程序中 涂黑则相应数值为 1 result1 5 a2 存储 1 5 题的结果 第 6 10 题区域的检测 for P 1 4 for Q 1 5 a1 result m s 1 P 1 interval width 1 m s 1 P 1 interval width 1 width n Q 1 interval length 1 n Q 1 interval length 1 length sum1 sum sum a1 a2 P Q sum1 end end a2 a2 81 0 result6 10 a2 存储 6 10 题的结果 第 11 15 题区域的检测 for P 1 4 for Q 1 5 a1 result m P 1 interval width 1 m P 1 interval width 1 width n t 1 Q 1 interval length 1 n t 1 Q 1 interval length 1 length sum1 sum sum a1 a2 P Q sum1 end end a2 a2 81 0 result11 15 a2 存储 11 15 题的结果 第 16 20 题区域的检测 for P 1 4 for Q 1 5 a1 result m s 1 P 1 interval width 1 m s 1 P 1 interval width 1 width n t 1 Q 1 interval length 1 n t 1 Q 1 interval length 1 length sum1 sum sum a1 a2 P Q sum1 end end a2 a2 81 0 result16 20 a2 存储 16 20 题的结果 第 21 25 题区域的检测 for P 1 4 for Q 1 5 a1 result m s 2 P 1 interval width 1 m s 2 P 1 interval width 1 width n t 1 Q 1 interval length 1 n t 1 Q 1 interval length 1 length sum1 sum sum a1 a2 P Q sum1 end end a2 a2 81 0 result21 25 a2 存储 21 25 题的结果 第 26 30 题区域的检测 for P 1 4 for Q 1 5 a1 result m s 3 P 1 interval width 1 m s 3 P 1 interval width 1 width n t 1 Q 1 interval length 1 n t 1 Q 1 interval length 1 length sum1 sum sum a1 a2 P Q sum1 end end a2 a2 81 0 result26 30 a2 存储 26 30 题的结果 第 31 35 题区域的检测 for P 1 4 for Q 1 5 a1 result m s 4 P 1 interval width 1 m s 4 P 1 interval width 1 width n t 1 Q 1 interval length 1 n t 1 Q 1 interval length 1 length sum1 sum sum a1 a2 P Q sum1 end end a2 a2 81 0 result31 35 a2 存储 31 35 题的结果 answer result1 5 result6 10 result11 15 result16 20 result21 25 result26 30 result 31 35 将所检测的 7 个区域的结果汇总 dlmwrite Result txt answer 以 txt 文本的形式输出结果矩阵 disp answer 在 command 窗口实时显示结果 附加一个统计错误的并显示分数的部分 假定正确答案是 35 个 C T zeros 4 35 初始化矩阵 T 1 1 设定正确答案的参数 mark1 answer T wrongx sum mark1 0 当结果选错时 每一列将分别多一个 1 与 1 选择正 确时 此列都是 0 A sum sum wrongx 统计非零的结果 wrong A 2 由于 1 与 1 是成对出现的 所以需要将上一步所得结果除以 2 score 35 wrong 算出结果 fprintf 选择题得分为 d score 在 command 窗口输出成绩 四 模块测试与分析四 模块测试与分析 1 首先进行 Hough 变换 得到 Hough 变换矩阵如下所述 见图 1 80 60 40 20020406080 600 400 200 0 200 400 600 图 1 可以观察到 2 个峰值 2 使用 Houghlines 函数检测直线 得到如下结果 见图 2 图 2 并使用 lines theta 语句得到直线角度 即为图像倾斜角度 x lines theta x 4 3 修正图像 如图 3 所示 像 像 像 像 像 图 3 这时观察到倾斜的图像已经得到改正 4 在二值化后使用像素检索技术对灰度值进行统计 分为 7 个扫描区域 如图 4 中 7 个方框所示 图 4 5 进行灰度统计 得到结果矩阵 最后处理由 fprintf 语句得到分数 五 测试与调试过程五 测试与调试过程 这次实验遇到的第一个问题是如何由 Hough 变换得到直线角度 这个是教材上 没有的 网上提示说是调用 lines 函数 但没有说怎么调用 后来才从一篇 Hough 变换的文章中知道是 lines theta 类似于 C 的调用方法 还有就是在本 次设计中我第一次是将旋转部分和灰度值统计部分分开写成 2 个 m 文件的 然 后再直接合并 结果发现有误 经过检查后发现 matlab 在读取图片时会在原图 片外加一圈白色 幕布 导致原图片的长与宽发生变化 使原图片中的坐标也 发生变化 因此最后还得重新修改相关参数 六 结果与心得体会六 结果与心得体会 扫描矩阵为 注意观察其中 1 出现的位置 和答题卡中填涂区域完全一致 所 以可知此方法成功的进行地对答题卡进行了识别 Columns 1 through 9 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 Columns 10 through 18 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 Columns 19 through 27 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年阳泉辅警招聘考试真题附答案详解(典型题)
- 2023年辽源辅警招聘考试题库含答案详解(考试直接用)
- 2023年铁岭辅警协警招聘考试备考题库含答案详解(典型题)
- 2023年苗栗县辅警招聘考试题库附答案详解(精练)
- 2024年三亚辅警协警招聘考试真题附答案详解(考试直接用)
- 2023年福建辅警协警招聘考试真题含答案详解(完整版)
- 2023年赣州辅警招聘考试真题含答案详解(能力提升)
- 2024年乌海辅警协警招聘考试备考题库完整参考答案详解
- 2023年秀山土家族苗族自治县辅警协警招聘考试备考题库附答案详解(轻巧夺冠)
- 2023年营口辅警协警招聘考试真题及完整答案详解
- 终止合同及保密协议书
- 电力企业安全教育培训管理制度
- 2025年甘肃省甘南州第三批高层次和急需紧缺专业技术人才引进52人笔试考试参考试题及答案解析
- 2025年税务师考试《税法一》冲刺试卷(含答案)
- 湖南机场2026届校园招聘78人考前自测高频考点模拟试题浓缩300题附答案
- 大学生职业生涯规划书课件
- 一拳头一仇人一击掌一朋友-拒绝打架斗殴主题班会课件
- 学堂在线 研究生的压力应对与健康心理 期末考试答案
- DBJ50-055-2016 蒸压加气混凝土砌块应用技术规程
- 初中 初三 历史 殖民地人民的反抗斗争 课件
- 经方治疗冠心病
评论
0/150
提交评论