想让自己轻松点就要让计算机多为你做点!

前几天一个朋友找到我让我做一个网上阅卷系统,就是实现这么几个功能:高速扫描仪扫描试卷后得到一张一张的图片,软件的功能就是处理图片,计算成绩。再详细点就是自动识别考生涂的学号,自动识别考生的选择题答案并记录,后面的大题要分块,把每一个题从试卷中分离出来,转发给老师进行阅卷。最后就是实现成绩的汇总与分析。

说起来功能也不算复杂,实现起来细节性的东西还是挺多的,比如每一科的试卷都不相同,要做一个通用型的软件,适合各种类型的试卷,还有就是服务器的设置呀,学生信息的保密呀,各种错误的处理啊……反正挺麻烦的,都怪我知识不够。

这个项目是挺好的,作为一个大学生,能做出来的话对各方面的能力都是一种提升,可惜以我们现在的水平,做这个软件还是很困难的,我现在只会C,C++,这个软件肯定需要一个图形化界面,我MFC还不会,windows的api就会那么几个,信息的存储要用到数据库,我数据库也不会,悲剧,还有就是互联网通信技术,每台老师的电脑和服务器要进行通信,我也不知道怎么编程实现……太悲剧了!

有时候我就想在大学里我到底学到了什么?什么时候我能做出一个像模像样的软件?各种实用的技术什么时候才能掌握?看到学长一个一个都这么牛,我hold不住了,抓紧时间学把!想想刚进大学时,我基本就是一个电脑盲,不努力真不行了!我感觉我一个同学高中时都比我现在厉害……

废话不多说了,前几天我那个朋友商量了一下,他说除了识别那一块外,其他的都是小事(又是一个大牛!)。我想了想,识别那一块并不是那么难的,我应该能做到,然后就接下了这个任务。

下面说说识别的方法:这实际上就是一个概率

软件运行截图(可以正确识别学号):

程序源码:

/*

功能:网上阅卷系统的识别

作者:ma6174

邮箱:ma6174@163.com

时间:2012年2月23日

其他:包含的头文件来则easyx的图形库

*/

#include

#include

#include

#include

#include

#include

//定义方格的大小和方格的间距,根据实际情况做相应的修改#define BOX_X 42

#define BOX_Y 13

#define BLANK_X 18

#define BLANK_Y 25

//颜色分量类class rgb

{

public:

BYTE red;

BYTE green;

BYTE blue;

};

//判断一个点是不是黑色bool judge_black(rgb color)

{

if(color.blue+color.green+color.red<30)//可能会有点误差,根据实际情况调整        return true;//黑色,有标记    return false;

}

//判断一个方格有没有被填涂bool judge_box(int x,int y,HDC hdc)

{

int i,j,total=0,count=0;

COLORREF color;

for(i=x+2;i

for(j=y+1;j

{

total++;

color=GetPixel(hdc,i,j);

rgb temp;

temp.red=GetRValue(color);

temp.green=GetGValue(color);

temp.blue=GetBValue(color);

if(judge_black(temp)==true)

count++;

}

}

if(double(count)/total>0.5)//黑色的比例大于50%则认为该方格被填涂        return true;

return false;

}

//判断所有的,入口参数分别是起始横坐标,起始纵坐标,行数,列数,窗口句柄void judge_all(int start_x,int start_y,int hangshu,int lieshu,HDC hdc)

{

int i,j;

for(i=0;i

{

for(j=0;j

{

//Sleep(50);//circle(start_x+i*(BOX_X+BLANK_X),start_y+j*(BOX_Y+BLANK_Y),10);            if(judge_box(start_x+i*(BOX_X+BLANK_X),start_y+j*(BOX_Y+BLANK_Y),hdc)==true)

{

printf("%d",j);

//outtextxy(start_x+i*(BOX_X+BLANK_X),start_y+j*(BOX_Y+BLANK_Y),"A");            }

}

//printf("\n");    }

}

int main()

{

int start_x,start_y,total=0,count=0;

initgraph(1440,900);

cleardevice();

IMAGE img;

loadimage(NULL,"d:\\1.jpg");

HDC hdc = GetImageHDC();

MOUSEMSG m;

while(1)//通过鼠标点击得到起始位置    {

m=GetMouseMsg();

if(m.uMsg==WM_LBUTTONDOWN)

{

start_x=m.x;

start_y=m.y;

break;

}

}

judge_all(start_x,start_y,18,10,hdc);

printf("\n");

getch();

}

网上阅卷系统php源码,又开源了,网上阅卷系统自动识别功能代码 | 学步园相关推荐

  1. java计算机毕业设计新冠疫苗接种预约系统登录源码+mysql数据库+lw文档+系统+调试部署

    java计算机毕业设计新冠疫苗接种预约系统登录源码+mysql数据库+lw文档+系统+调试部署 java计算机毕业设计新冠疫苗接种预约系统登录源码+mysql数据库+lw文档+系统+调试部署 本源码技 ...

  2. 2022最新玖逸云黑PHP系统程序源码+全开源无加密

    正文: 2022最新玖逸云黑PHP系统源码+全开源无加密,下方是程序的完整介绍啥的,有兴趣自己查看: 安装部署: 环境建议:Nginx1.19 PHP7.3(只推荐这个,因为我用其他版本发现有报错) ...

  3. thinkphp多城市房产系统源码程序_Thinkphp多城市版房产系统模板源码 php开源房产源码+手机版...

    Thinkphp多城市版房产系统模板源码 php免费开源房产源码+手机版 本套程序的完善修复版已发布->TPfang房产程序源码,有兴趣的朋友可以去下载了哦! 本源码的原名是:开源TPfang房 ...

  4. 在线考试系统html源码,TCExam 开源在线考试系统 v11.2.003

    //============================================================+ // File name : htmlcolors.php // Ver ...

  5. 分享2019版最新仿抖音直播系统app源码,开源版本

    声明:本文章仅限于学习交流,一切商业行为与本人无关. 我是一个本本分分的程序猿,每天都是996.苦的一逼.也是偶然机会,入手一个个仿抖音直播的app,还是原生的,后台是Php语言写的,用的还是Lara ...

  6. 故障申报系统php源码,seay源代码全自动在线审计系统,PHP源代码缺陷自动审计平台-在线工具...

    1:文件包含函数中存在变量,可能存在文件包含漏洞 2:preg_replace的/e模式,且有可控变量,可能存在代码执行漏洞 3:phpinfo()函数,可能存在敏感信息泄露漏洞 4:call_use ...

  7. 2022全新小小影视改版的影视APP系统源码+全开源

    正文: 影视APP全新双端开源系统,这次没什么好说的,教程都在文件,可以自定义易支付接口. [程序源码]全新双端美化开源系统,源码自带独家有效完美防黑功能,前端和后端,数据库都在里面了,还有教程,稳定 ...

  8. php宝塔搭建新版手机软件库游戏库系统php源码

    注意:因为微信最近又改了推送机制,经常有朋友说错过了之前的搭建教程文章,每次都要主动搜索才能搜到公众号.所以建议大家加个星标,就能第一时间收到推送. 大家好啊,我是测评君,欢迎来到web测评.本期给大 ...

  9. 信管家源代码c语言,AK老唐信管家软件指标 火车轨系统指标源码

    信管家软件指标 火车轨系统指标源码 交易成本20美元 火车轨系统,长短线皆宜.短线红多绿空,长线粉多蓝空.可以用来判断趋势,辅助进出场点. 指标源码: S:=CROSS(CLOSE,EMA(HIGH, ...

  10. 基于java‘网上宠物店计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java'网上宠物店计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java'网上宠物店计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 本源码技术栈: 项目架构 ...

最新文章

  1. 4 流程控制》4.5 比较for循环和while循环
  2. PNAS “深度学习的科学”论文合集导读
  3. tp点一共有多少_致命女人更新时间 致命女人第一季一共多少集在线观看地址
  4. Google首页电吉
  5. Office 办公软件的问题解决方案
  6. 系统测试:单元测试相关知识笔记
  7. php基础语法知识笔记(一)
  8. server.mappath php,Server.MapPath( ) 方法的主要功能是获取文件的绝对路径。
  9. Ansible安装MySQL5.7.24
  10. 使用checked关键字处理“溢出”错误
  11. asp.net hessian + android hessdroid
  12. (Adobe Premiere Pro CS4)[ISO]《Adobe非线性视频编辑软件》
  13. 基于vhdl的分频器设计
  14. android音乐播放器flac,无损高保真音乐播放器app
  15. 金彩教育:店铺中的人才布局
  16. android wifi 移植记录
  17. POI读取Excel 各种特殊数字和类型的转换
  18. Robcup2D足球学习记录【2020.01.18】
  19. 电脑怎么系统重装,重装电脑系统怎么装
  20. 关于cv::cuda::GpuMat与PtrStepSz

热门文章

  1. 毕向东的Java基础视频教程的学习,作为java基础的基础学习视频
  2. JMeter脚本录制-快速上手篇
  3. 基于javaEE的医院病历管理系统的设计与实现
  4. 使用vue构建一个可视化大数据平台
  5. opencv android 车牌,OpenCV + Android +车牌号识别
  6. 揭秘720°三维全景3D实景地图制作技术
  7. matlab分割txt数据,MATLAB批量分割txt数据
  8. Proteus8.10软件安装教程
  9. 局域网查询在线计算机ip地址,教你利用局域网快速查询电脑IP地址的详细步骤...
  10. plugin zsh-autosuggestions/zsh-syntax-highlighting not found