• 大小: 3.82MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-11
  • 语言: Matlab
  • 标签: matlab  

资源简介

本课题为基于MATLAB的不变矩答题卡识别。可识别学号,学科,答案,并进行分数统计,以及判断是否及格。后台可设置标准excel答案。经过灰度变换形成灰度图像、二值化处理、图像滤波、边缘检测、hough变换等预处理。带GUI交互式界面。
识别原理***:计算出了单选选择答案后,需要与标准的答案进行对比。这时需要建立一个二维的数组来储存标准答案。在程序中建立了一个数组,只有一行却有多个列,来记录每一道单项选择题的标准答案。记录好考生填涂的答案和标准答案后,这时通过一个 FOR 循环一一对比,如果相同的就让计数器加一如果不同计数器就不加。循环结束后就可以统计出考生选对的答案,然后将统计好的数字乘上每道题的分数就可以计算出考生单选题的得分。

资源截图

代码片段和文件信息

function [Dom Aom Answer Bn] = Analysis(stats1 stats2 Line Img flag)
%%下区域分析
%答题区域默认为六个大区:1~20,21~40,41~60,61~75,76~90,91~105
if nargin < 5
    flag = 1;
end
Line1 = Line{1};
Line2 = Line{2};
Line3 = Line{3};
Line4 = Line{4};
yn1 = round(Line1(1 2) + 0.18*(Line2(1 2)-Line1(1 2)));
yn2 = round(Line1(1 2) + 0.34*(Line2(1 2)-Line1(1 2)));
yn3 = round(Line1(1 2) + 0.50*(Line2(1 2)-Line1(1 2)));
yn4 = round(Line1(1 2) + 0.66*(Line2(1 2)-Line1(1 2)));
yn5 = round(Line1(1 2) + 0.82*(Line2(1 2)-Line1(1 2)));
yn6 = round(Line1(1 2) + 0.98*(Line2(1 2)-Line1(1 2)));

%下区域六条横线
Linen1_1 = [Line1(1 1) yn1; Line1(2 1) yn1];
Linen2_1 = [Line1(1 1) yn2; Line1(2 1) yn2];
Linen3_1 = [Line1(1 1) yn3; Line1(2 1) yn3];
Linen4_1 = [Line1(1 1) yn4; Line1(2 1) yn4];
Linen5_1 = [Line1(1 1) yn5; Line1(2 1) yn5];
Linen6_1 = [Line1(1 1) yn6; Line1(2 1) yn6];

% 定位竖直网格分割线
xn1 = round(Line3(1 1) + 0.22*(Line4(1 1)-Line3(1 1)));
xn2 = round(Line3(1 1) + 0.26*(Line4(1 1)-Line3(1 1)));
xn3 = round(Line3(1 1) + 0.48*(Line4(1 1)-Line3(1 1)));
xn4 = round(Line3(1 1) + 0.52*(Line4(1 1)-Line3(1 1)));
xn5 = round(Line3(1 1) + 0.72*(Line4(1 1)-Line3(1 1)));
xn6 = round(Line3(1 1) + 0.77*(Line4(1 1)-Line3(1 1)));
xn7 = round(Line3(1 1) + 0.98*(Line4(1 1)-Line3(1 1)));

Linen1_2 = [xn1 Line3(1 2); xn1 Line3(2 2)];
Linen2_2 = [xn2 Line3(1 2); xn2 Line3(2 2)];
Linen3_2 = [xn3 Line3(1 2); xn3 Line3(2 2)];
Linen4_2 = [xn4 Line3(1 2); xn4 Line3(2 2)];
Linen5_2 = [xn5 Line3(1 2); xn5 Line3(2 2)];
Linen6_2 = [xn6 Line3(1 2); xn6 Line3(2 2)];
Linen7_2 = [xn7 Line3(1 2); xn7 Line3(2 2)];

%下区域一定位横网格线坐标计算
ym1_1 = round(Line1(1 2) + 0.38*(Linen1_1(1 2)-Line1(1 2)));
ym2_1 = round(Line1(1 2) + 0.5*(Linen1_1(1 2)-Line1(1 2)));
ym3_1 = round(Line1(1 2) + 0.65*(Linen1_1(1 2)-Line1(1 2)));
ym4_1 = round(Line1(1 2) + 0.80*(Linen1_1(1 2)-Line1(1 2)));
ym5_1 = round(Line1(1 2) + 0.93*(Linen1_1(1 2)-Line1(1 2)));
%下区域一定位横网格线
Linem1_1 = [Line1(1 1) ym1_1; Line1(2 1) ym1_1];
Linem2_1 = [Line1(1 1) ym2_1; Line1(2 1) ym2_1];
Linem3_1 = [Line1(1 1) ym3_1; Line1(2 1) ym3_1];
Linem4_1 = [Line1(1 1) ym4_1; Line1(2 1) ym4_1];
Linem5_1 = [Line1(1 1) ym5_1; Line1(2 1) ym5_1];

%下区域二定位横网格线坐标计算
ym1_2 = round(Linen1_1(1 2) + 0.30*(Linen2_1(1 2)-Linen1_1(1 2)));
ym2_2 = round(Linen1_1(1 2) + 0.43*(Linen2_1(1 2)-Linen1_1(1 2)));
ym3_2 = round(Linen1_1(1 2) + 0.60*(Linen2_1(1 2)-Linen1_1(1 2)));
ym4_2 = round(Linen1_1(1 2) + 0.75*(Linen2_1(1 2)-Linen1_1(1 2)));
ym5_2 = round(Linen1_1(1 2) + 0.90*(Linen2_1(1 2)-Linen1_1(1 2)));
%下区域二定位横网格线
Linem1_2 = [Line1(1 1) ym1_2; Line1(2 1) ym1_2];
Linem2_2 = [Line1(1 1) ym2_2; Line1(2 1) ym2_2];
Linem3_2 = [Line1(1 1) ym3_2; Line1(2 1) ym3_2];
Linem4_2 = [Line1(1 1) ym4_2; Line1(2 1) ym4_2];
Linem5_2 = [Line1(1 1) ym5_2; Line1(2 1) ym5_2];

%下区域三定位横网格线坐标计算
ym1_3 = round(Linen2_1(1 2) + 0.25*(Linen

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-02-28 21:42  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\
     文件      544294  2020-02-28 21:30  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\鍗氭枃.docx
     目录           0  2020-02-28 22:43  __MACOSX\
     目录           0  2020-02-28 22:43  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\
     文件         230  2020-02-28 21:30  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\._鍗氭枃.docx
     文件           0  2020-02-28 21:30  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?
     文件        1229  2019-12-29 20:05  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?contrastAnswers.m
     文件           0  2020-02-28 22:43  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?
     文件         230  2019-12-29 20:05  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._contrastAnswers.m
     文件        9707  2020-02-28 21:28  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?GUI1.m
     文件         230  2020-02-28 21:28  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._GUI1.m
     文件         335  2017-06-14 15:15  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?gaussianFilter.m
     文件         230  2017-06-14 15:15  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._gaussianFilter.m
     目录           0  2020-02-28 21:26  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?images\
     文件        9216  2018-03-30 13:33  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?images\Thumbs.db
     目录           0  2020-02-28 22:43  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?images\
     文件         230  2018-03-30 13:33  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?images\._Thumbs.db
     文件     3204274  2017-04-03 12:23  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?images\绛旈鍗?jpg
     文件         230  2017-04-03 12:23  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?images\._绛旈鍗?jpg
     文件         230  2020-02-28 21:26  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._images
     文件         525  2017-04-03 18:49  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?Morph_Process.m
     文件         230  2017-04-03 18:49  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._Morph_Process.m
     文件        1486  2017-04-03 18:52  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?Region_Segmation.m
     文件         230  2017-04-03 18:52  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._Region_Segmation.m
     文件        5385  2020-02-28 21:28  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?GUI1.fig
     文件         230  2020-02-28 21:28  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._GUI1.fig
     文件         457  2017-06-14 17:53  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?Image_Smooth.m
     文件         230  2017-06-14 17:53  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._Image_Smooth.m
     文件         280  2017-04-03 18:37  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?Compute_Angle.m
     文件         230  2017-04-03 18:37  __MACOSX\MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?._Compute_Angle.m
     文件       17529  2019-12-29 20:05  MATLAB绛旈鍗¤瘑鍒紙GUI锛岃鏂囷級\MATLAB hough鍙樻崲绛旈鍗¤瘑鍒紙GUI锛岄厤璁烘枃锛?Analysis.m
............此处省略21个文件信息

评论

共有 条评论