毕业设计(论文)-学生头像采集系统的设计与实现.doc_第1页
毕业设计(论文)-学生头像采集系统的设计与实现.doc_第2页
毕业设计(论文)-学生头像采集系统的设计与实现.doc_第3页
毕业设计(论文)-学生头像采集系统的设计与实现.doc_第4页
毕业设计(论文)-学生头像采集系统的设计与实现.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北农业大学现代科技学院毕业论文题 目: 学生头像采集系统的设计与实现 学 部: 工程技术学部 专业班级: 计算机科学与技术1001班 学 号: 二O一四 年 六 月 一 日摘 要电子照片的采集和管理是高等学校实现信息化管理的重要方面,各高校每学期都有对学生电子照片采集的任务,设计高效的电子照片采集方法是学校数字化发展的必然要求,在分析电子照片采集的一般方法及其优缺点的基础上,提出将多设备集成,实现照片采集、加工、存储的新方法。本论文的头像采集系统以USB摄像头为硬件,利用C# 语言 ,在Visual studio2010 环境中编写,同时给出了详细的系统设计过程、部分界面图及主要功能运行流程,USB总线以其使用方便、传输速度快、即插即用、通用性强、扩展性好和性价比高等优点得到广泛应用,C# 语言具有易上手,好编写的特性,所以本学生头像采集系统具有易用性很强,成本低廉 ,没有环境限制,效率高等优点。关键词:电子照片,照片采集,USB摄像头AbstractElectronic photo collection and management plays a key role in the realization of information management for colleges and universities. As application of students electronic photos is in great demand in colleges and universities each semester, the design of an effective electronic photo collection system is an essential requirement for schools digitalized development. Based on the analysis of the general method of collecting electronic photos and its advantages and disadvantages, this paper proposes a new method of photo collecting, processing and storing with equipment integration.This papers image acquisition system based on USB camera hardware, using c # language, written in the Visual studio2010 environment, and gives the detailed system design process, part of the interface diagram and main function operation flow, the USB bus for its convenience, fast transmission speed, plug and play, strong commonality, good expansibility and high cost performance is widely used, the c # language is easy to fit in the characteristics of good writing, so this student image acquisition system has the usability is very strong, the cost is low, there is no limit to the environment, high efficiency, etc.Keywords: electronic photo,photo collection,USB camera.目 录1 绪论11.1系统开发的背景11.2国内外背景及其现状11.3 主要研究目标和研究内容21.4论文组织结构22 系统开发及相应配置32.1 .Net简介32.2 C#32.3 visual studio201042.4摄像头52.5 C#捕捉摄像头的API接口(avicap32.dll)63 系统分析及可行性83.1系统可行性分析83.2系统需求分析93.2.1软件开发目标93.2.2系统功能需求93.2.3系统界面需求93.3系统开发的原则94 系统设计114.1系统的设计思想114.2系统的结构134.3系统的功能134.4系统使用流程145 系统功能的实现155.1 程序启动及其代码155.2 开启相机与关闭175.3 相机拍照及照片预览185.4 照片的保存及学生信息196结论22参考文献23致谢241绪论1.1系统开发的背景当前多媒体计算机,信息高速公路和计算机网络是计算机信息科学的三个重要发展方向。它们相互联系、相互促进、共同发展,已经渗透到人们日常生活、学习、工作、娱乐等各个方面。计算机管理信息系统的普及,极大提高了管理水平和工作效率,在解决了传统的文字信息计算机管理的同时,结合人像照片等信息进行的图文结合管理模式越显迫切,并逐渐提上了议事日程。在诸如人事管理、学籍管理、考试报名、证卡制作等需要大量录入人像照片的场合,一直来为照片的计算机录入问题所困扰。随着计算机技术的迅猛发展,全国各高校正快速实现信息化、数学化管理。在实现数字化管理的过程中,采集和管理学生电子像片是数字化发展的必然要求,同时也是实现数字化管理的薄弱环节。采集电子照片的常用方法是由专业摄影师对学生进行现场拍照,记录相机中照片与学生的对应关系,待拍摄完毕后,导入电脑并用图像处理软件修改成相应尺寸的照片,在摄像头应用普及的的条件下,出现了许多利用摄像头进行照片采集的研究,如全国英语四六级考试报名、国家公务员考试报名中,就采用摄像软件进行照片采集。这种方式具有操作简单,便捷灵活的特点,生成的图像易于保存应用1。1.2国内外背景及其现状国外主要拟采用人脸检测技术来自动提取和规范头像,采用二维条码和数据库技术来自动命名照片。人脸检测及头像提取技术:采用人工智能和模式识别技术检测照片中人脸位置,并根据用户设置的参数以人脸为中心裁剪出符合要求的头像图片。二维条码和数据库命名技术:通过用户数据库信息直接命名所拍摄的照片,或将关键编码字段生成二维条码并通过自动解码来命名所扫描的照片。 目前国内照片采集主要有数码拍照和照片扫描分割两种方式。下面我们就这两种采集方式存在的问题给大家分析一下:方式一:现场数码拍照,由专业摄影师对人员进行现场拍照,并记录相机中照片与人员的对应关系,拍摄完毕后导入电脑通过手工修改所拍照片的编号。主要存在的问题:1、照片命名速度慢且容易出错,采用数码相机拍照时往往需要辅助人员在旁边拿着花名册逐个点名并记录其在相机中照片的编号,拍摄完毕后还需要手工更改照片编号。2、对摄影师有较高技术要求。数码拍照时往往需要专业摄影师操作,根据人员高矮及天气状况实时调整坐姿和相机参数以保证所采集照片的规范性,一般非专业人士很难保证采集的照片整齐规范。3、需要将人员在固定时间集中拍摄,往往因为时间或地域原因无法实现,即使实现了也容易造成现场混乱,影响正常生产、教学秩序。方式二:照片扫描分割,上交照片统一处理,将上交的照片整批扫描输入电脑,然后对扫描的图片进行手工分割裁剪和手工命名。存在的问题: 1、手工分割效率低,且不规范,速度和精度完全取决于个人因素,每小时处理的图像有限。2、手工命名速度慢,且容易出错,一旦出错很难查证。3、上交的照片原始质量和背景参差不齐,手工单张调整需要消耗大量时间2。1.3 主要研究目标和研究内容随着我国综合国力的不断增强,教育水平的不断提高,我国大学生数量在逐年增加,越来越多的学生给各高校采集学生头像信息带来了不少困难,每年的大学外语四六级考试,研究生报名考试,公务员考试,计算机二级考试,会计证报名等考试,学校都要向考试办上报考生的图像信息,而且要求电子图像的像素为固定值,大小不能超过15kb的以学生学号命名的jpg格式图像文件。这就意味着我们要在短时间内(一般2-3天)完成4000人以上的图像采集。如果以传统的工作方式。用数码照相机进行拍照,再对生成的电子照片修改像素,压缩大小,重新以学号命名。这个过程所需的工作量是巨大的,不但很难在短时间内完成,而且也很容易在重命名时出现张冠李戴的错误,而且会花费学生和工作人员不菲的时间。可见传统的方式在现今科技高速发展的年代,办公信息数字化的趋势下是不可取的,本文所使用的是摄像机和电脑相结合利用图像采集软件获取考生图像的新方法,其大大提高了工作效率,在规定时间内顺利完成了学生图像采集工作3。本文要实现的基本目标和主要内容有一下几个方面:(1)学生头像采集系统能调用摄像头,并且显示摄像头所拍摄的视频信息。(2)学生头像采集系统对于摄像头所捕获信息,能够进行保存为照片格式。(3)学生头像采集系统对于拍摄的照片能够进行学生头像部位的截取。1.4 论文组织结构本论文分6章。第一章绪论,主要介绍系统发展的背景,及国内外现状。第二章主要对开发平台及语言.NET,C#介绍,以及对开发环境VisualStudio2010的介绍。第三章系统开发的可行性,目的,以及原则,并且对项目进行了详细的介绍。第四章写了系统的设计,详细的介绍了数据库的设计以及具体的流程图。第五章系统的具体功能的实现,以及部分具体相关代码。第六章总结全文。2系统开发及相应配置2.1 .Net简介.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。.NET就是微软用来实现XML,Web Services,SOA和敏捷性的技术。对技术人员,想真正了解什么是.NET,必须先了解.NET技术出现的原因和它想解决的问题,必须先了解为什么他们需要XML Web Services 和 SOA。技术人员一般将微软看成一个平台厂商。微软搭建技术平台,而技术人员在这个技术平台之上创建应用系统。从这个角度,.NET也可以如下来定义:.NET是微软的新一代技术平台,为敏捷商务构建互联互通的应用系统,这些系统是基于标准的,联通的,适应变化的,稳定的和高性能的。从技术的角度,一个.NET应用是一个运行于.NET Framework之上的应用程序。(更精确的说,一个.NET应用是一个使用.NET Framework类库来编写,并运行于公共语言运行时Common Language Runtime之上的应用程序。)如果一个应用程序跟.NET Framework无关,它就不能叫做.NET程序。比如,仅仅使用了XML并不就是.NET应用,仅仅使用SOAP SDK调用一个Web Service也不是.NET应用。.NET是基于Windows操作系统运行的操作平台,应用于互联网的分布式4。2.2 C#C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C#成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Pascal、Java、VB等。C#在设计者从C+继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java C#还需要进化成一种开发者能够接受和采用的语言C# 将不可避免地崛起,在Windows平台上成为主角,而JAVA将在UNIX、Linux等平台上成为霸主,C+ 将继续在系统软件领域大展拳脚。非常有意思的是,这些语言的语法极其接近,因为JAVA和C# 都是由C+发展而来的。其他的开发工具当然还会在相当长的时间里继续他们的旅程,不过在市场份额上,将不可避免地受到冲击。 C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C+的程序员而言。对国际化的支持非常重要。C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用5。2.3 Visual Studio2010Visual Studio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology),并且支持开发面向Windows 7的应用程序。除了Microsoft SQL Server,它还支持 IBM DB2和Oracle数据库。目前有五个版本:专业版、高级版、旗舰版、学习版和测试版。在一个组织中,应用程序生命周期管理(ALM)将牵涉到多个角色。但是在传统意义上,这一过程中的每个角色并不是完全平等的。Visual Studio Team System 2010将坚持打造一个功能平等、共同分担的平台以用于组织内的应用程序生命周期管理过程。VS作为微软.NET Framework 平台开发工具,无论易用性、功能性等各方面,是现时所有开发工具套件中最为出色的,而VS 2010更是微软抛离其他对手一个里程碑版本。微软官方确认Visual Studio 2010 正式版将在2010年4月12日正式发布,这对软件业以及开发人员将产生重要影响。Visual Studio 是微软公司推出的、目前最流行的 Windows 平台应用程序开发环境。Visual Studio 2010精心打造了云计算架构,使在线应用软件的开发及应用更为简洁;在敏捷开发中,Visual Studio 2010把Scrum作为基本Agile开发模型,真正实现了方法论,这是Visual Studio的一大成就;Visual Studio 2010搭配Windows 7, Silver light 4,在RIA 应用、Web应用上有较大切入,使Web应用达到一个新境界;Visual Studio 2010加大了对多核并行运算的支持并且其中的C+ IDE增强,可更好支持C+。顺应新的技术潮流,每年,业界内的新技术和新趋势层出不穷。通过Visual Studio 2010,微软将为开发者提供合适的工具和框架,以支持软件开发中最新的架构,开发和部署。从Visual Studio的第一个版本开始,微软就将提高开发人员的工作效率和灵活性作为自己的目标。Visual Studio 2010将继续关注并且显著地改进开发者最核心的开发体验。微软将继续投资于市场领先的操作系统,工具软件和服务器平台,为客户创造更高的价值。使用Visual Studio 2010,将可以在新一代的应用平台上,为你的客户创造令人惊奇的解决方案。客户将在不同规模的组织内创建应用,跨度从单个部门到整个企业。Visual Studio 2010将确保在这么宽泛的范围内的应用开发都得到支持。Microsoft Visual Studio 2010 采用拖曳式便能完成软件的开发。简简单单的操作便可以实现一个界面的生成。但拖曳的界面,也应当有相应的代码来实现功能。Microsoft Visual Studio 2010支持C#、C+ 、VB。 可以快速实现相应的功能。主要特点: 支持Windows Azure,微软云计算架构迈入重要里程碑。 助力移动与嵌入式装置开发,三屏一云商机无限。 实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力。 升级的软件测试功能及工具,为软件质量严格把关。 搭配Windows 7,Silverlight4 与 Office,发挥多核并行运算威力, 创建美感与效能并重的新一代软件。 支持最新C+标准,增强IDE,切实提高程序员开发效率2.4摄像头摄像头(CAMERA)又称为电脑相机,电脑眼,电子眼等,是一种视频输入设备,被广泛的运用于视频会议,远程医疗及实时监控等方面。普通的人也可以彼此通过摄像头在网络进行有影像、有声音的交谈和沟通。另外,人们还可以将其用于当前各种流行的数码影像,影音处理。摄像头可分为数字摄像头和模拟摄像头两大类。数字摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里。模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字模式,并加以压缩后才可以转换到计算机上运用。数字摄像头可以直接捕捉影像,然后通过串、并口或者USB接口传到计算机里。电脑市场上的摄像头基本以数字摄像头为主,而数字摄像头中又以使用新型数据传输接口的USB数字摄像头为主,市场上可见的大部分都是这种产品。除此之外还有一种与视频采集卡配合使用的产品,但还不是主流。由于个人电脑的迅速普及,模拟摄像头的整体成本较高,而且不能满足BSV液晶拼接屏接口等原因,USB接口的传输速度远远高于串口、并口的速度,因此市场USB接口的数字摄像头。模拟摄像头可和视频采集卡或者USB视频采集卡配套使用。摄像头(webcam)一般具有视频摄影/传播和静态图像捕捉等基本功能,它是借由镜头采集图像后,由摄像头内的感光组件电路及控制组件对图像进行处理并转换成电脑所能识别的数字信号,然后借由并行端口或USB连接输入到电脑后由软件再进行图像还原。摄像头的工作原理大致为:景物通过镜头(LENS)生成的光学图像投射到图像传感器表面上,然后转为电信号,经过A/D2(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过USB接口传输到电脑中处理,通过显示器就可以看到图像了。USB具有传输速度快(USB1.1是12Mbps,USB2.0是480Mbps,USB3.0是5 Gbps),使用方便,支持热插拔,连接灵活,独立供电等优点,可以连接鼠标、键盘、打印机、扫描仪、摄像头、闪存盘、MP3机、手机、数码相机、移动硬盘、外置光软驱、USB网卡、ADSL Modem、Cable Modem等,几乎所有的外部设备。2.5 C#捕捉摄像头的API接口(avicap32.dll)avicap32.dll是WindowsAPI应用程序接口相关模块,用于对摄像头和其它视频硬件进行A电影和视频的截取,部分C#详细控制视频参数如下:WM_CAP_START=WM_USER=1024;/startofUnicodemessagesWM_CAP_UNICODE_START=WM_USER+100;/开始WM_CAP_GET_CAPSTREAMPTR=(WM_CAP_START+1);/获得CAPSTREAMPTRWM_CAP_SET_CALLBACK_ERROR=(WM_CAP_START+2);/设置回调错误WM_CAP_SET_CALLBACK_STATUS=(WM_CAP_START+3);/设置回调状态WM_CAP_SET_CALLBACK_YIELD=(WM_CAP_START+4);/设置回调出产WM_CAP_SET_CALLBACK_FRAME=(WM_CAP_START+5);/设置回调结构WM_CAP_SET_CALLBACK_DEOSTREAM=(WM_CAP_START+6);/设置回调视频WM_CAP_SET_CALLBACK_WAVESTREAM=(WM_CAP_START+7);/设置回调视频波WM_CAP_GET_USER_DATA=(WM_CAP_START+8);/获得使用者数据WM_CAP_SET_USER_DATA=(WM_CAP_START+9);/设置使用者数据WM_CAP_DRER_CONNECT=(WM_CAP_START+10);/驱动程序连接WM_CAP_DRER_DISCONNECT=(WM_CAP_START+11);/断开启动程序连接WM_CAP_DRER_GET_NAME=(WM_CAP_START+12);/获得驱动程序名字WM_CAP_DRER_GET_VERSION=(WM_CAP_START+13); /获得驱动程序版本WM_CAP_DRER_GET_CAPS=(WM_CAP_START+14); /获得驱动程序性能WM_CAP_FILE_SET_CAPTURE_FILE=(WM_CAP_START+20);/设置捕获文件的文件名WM_CAP_FILE_GET_CAPTURE_FILE=(WM_CAP_START+21); /获得捕获文件的文件名WM_CAP_FILE_SAVEAS=(WM_CAP_START+23);/另存文件为WM_CAP_FILE_SAVEDIB=(WM_CAP_START+25);/保存文件WM_CAP_FILE_ALLOCATE=(WM_CAP_START+22);/分派文件WM_CAP_FILE_SET_INFOCHUNK=(WM_CAP_START+24);/设置开始文件WM_CAP_EDIT_COPY=(WM_CAP_START+30);/编辑复制WM_CAP_SET_AUDIOFORMAT=(WM_CAP_START+35);/设置音频WM_CAP_GET_AUDIOFORMAT=(WM_CAP_START+36);/捕获音频WM_CAP_DLG_DEOFORMAT=(WM_CAP_START+41);/1065打开视频格式设置对话框WM_CAP_DLG_DEOSOURCE=(WM_CAP_START+42);/1066设置对比度、亮度等。WM_CAP_DLG_DEODISPLAY=(WM_CAP_START+43);/1067打开视频显示对话框WM_CAP_GET_DEOFORMAT=(WM_CAP_START+44);/1068获得视频格式WM_CAP_SET_DEOFORMAT=(WM_CAP_START+45);/1069设置视频格式WM_CAP_DLG_DEOCOMPRESSION=(WM_CAP_START+46);/1070打开压缩设置对话框WM_CAP_GET_STATUS=(WM_CAP_START+54);/获得状态WM_CAP_SET_SCROLL=(WM_CAP_START+55);/设置卷WM_CAP_SEQUENCE=(WM_CAP_START+62);/次序,捕捉到文件WM_CAP_SEQUENCE_NOFILE=(WM_CAP_START+63);/没有文件WM_CAP_SET_SEQUENCE_SETUP=(WM_CAP_START+64);/设置当前捕获的帧频率WM_CAP_GET_SEQUENCE_SETUP=(WM_CAP_START+65);/获得当前捕获的帧频率WM_CAP_SET_MCI_DECE=(WM_CAP_START+66);/设置媒体控制接口WM_CAP_GET_MCI_DECE=(WM_CAP_START+67);/获得媒体控制接口WM_CAP_STOP=(WM_CAP_START+68);/停止捕捉WM_CAP_ABORT=(WM_CAP_START+69);/异常中断WM_CAP_PAL_OPEN=(WM_CAP_START+80);/打开视频WM_CAP_PAL_SAVE=(WM_CAP_START+81);/保存视频WM_CAP_PAL_PASTE=(WM_CAP_START+82);/粘贴视频WM_CAP_PAL_AUTOCREATE=(WM_CAP_START+83);/自动创造WM_CAP_PAL_MANUALCREATE=(WM_CAP_START+84);/手动创造3系统可行性及需求分析3.1 系统可行性分析当今社会的生活节奏越来越快,高校对学生头像采集的频率也越来越高,其中利用计算机技术开发出具有高效率,低资源占用,易用性好的头像采集软件非常重要。那么微软C#就能做到。C#(读做C-sharp)编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为.NET平台设计的语言,它可以使程序员移植到.NET上。这种移植对于广大的程序员来说是比较容易的,因为C#从C,C+和Java发展而来,它采用了这三种语言最优秀的特点,并加入了它自己的特性。C#是事件的驱动的,完全面向对象的可视化编程语言,我们可以使用集成开发环境来编写C#程序。使用IDE,程序员可以方便的建立,运行,测试和调试C#程序,这就将开发一个可用程序的时间减少到不用IDE开发时所用时间的一小部分。使用IDE迅速建立一个应用程序的过程称为快速反映开发。本系统采用C#框架,可以在VS2010中编写,使用windows系统就可以使用,任意PC终端。使用vs2010软件编写,可以实现在电脑上调试程序,编写程序,应用程序。综合以上两方面,无论是从技术上还是操作上,该系统都具有很高的开发可行性,本文的学生头像采集系统就是基于微软C#编程语言的程序,使用C#捕捉摄像头的API接口avicap32.dll,就可以调用摄像头组件,进行视频拍摄功能,在利用C#语言在.NET平台中编写,就可以编写成用户所需要的学生头像采集系统。3.2系统需求分析 软件需求分析工作是软件生存期中重要的一步,也是决定性的一步。软件需求分析是一个不断认识和逐步细化的过程,该过程将软件计划阶段所确定的软件范围逐步细化到可详细定义的程度。需求分析还是软件开发的基础,假定在该阶段发现一个错误,解决它需要用一小时的时间,到设计、编程、测试和维护阶段解决,则要花几倍甚至更多的时间。因此对于复杂系统而言,首先要进行需求分析。开发人员应该对用户的要求及现实环境进行调查和了解。在招生报名信息系统中,经常要在现场采集学生的照片信息,进行现场确认。在C/S 结构的系统中一般可以使用C# 语言或者其他底层函数调用摄像头拍照实现该功能,在科技职业学院的招生报名系统中采用了C# 调用摄像头拍照采集学生照片信息,方便快捷地解决了照片采集确认的问题。3.2.1软件开发目标本系统为高校采集学生头像,本系统需能够实现以下目标:(1)软件采用人机交互的方式,界面美观友好,操作灵活、方便、富有个性化。(2)能够有效的对学生拍摄电子照片。(3)系统应最大限度地实现易维护性和易操作性。(4)对电脑配置要求低,占用资源低。3.2.2系统功能需求本软件利用USB摄像头对学生进行现场采集电子照片,记录摄像头中照片与学生的对应关系,待拍摄完毕后,自动导入电脑并用图像处理软件修改成相应尺寸的照片。(1)需完成摄像头的的显示功能,实现能够在软件中看的摄像头所记录的画面。(2)需完成摄像头的照相功能,从而对学生进行电子照片采集。(3)可以预览拍摄照片,并进行保存。(4)对于拍摄完成的照片可以截取学生头像。(5)保存照片时可以把照片名称命名为学生姓名和学号。3.2.3系统界面需求通常一个软件界面的元素包括界面主颜色、字体颜色、字体大小、界面布局、界面交互方式、界面功能分布、界面输入输出模式。其中,对用户工作效率有显著影响的元素包括:输入输出方式、交互方式、功能分布,在使用命令式交互方式的系统中,命令名称、参数也是界面元素的内容,如何设计命令及参数也十分重要。影响用户对系统友好性能评价的元素有:颜色、字体大小、界面布局等,这种划分不是绝对的,软件界面作为一个整体,其中任何一个元素不符合用户习惯、不满足用户要求都将降低用户对软件系统的认可度,甚至影响用户的工作效率,而使用户最终放弃使用系统。围绕界面元素所要达到的设计目的是让最终用户能够获得美感、提高工作效率、易于操作使用系统。本学生头像采集系统界面布局合理,颜色舒适,控制按钮友好,整体有一个主要的元素标准,统一的主题思想,能够让用户一目了然,能够很快学会使用软件对学生进行各类考试照片,体检照片,毕业照片的头像采集,从而提高用户使用的感受及工作效率。3.3系统开发的原则采用学生头像采集系统遵循以下基本原则:(1)易用的原则 参照国内相关软件成功与失败的经验,不论一个应用系统的功能有多么庞大,如果不能让使用者掌握,也不能发挥作用。学生头像采集系统不同于学生信息、资料等业务软件,只需要少数人经过简单了解、掌握使用方法就可以,而是涉及各个工作岗位的人员,特别是学校采集照片的相关工作人员。学生头像采集数字化的目的不是为了单纯的拥有现代的科学技术,而是为了提高管理能力和运行效率。高校工作信息化不是一朝一夕的工作,需要不断地发展和完善,需要在发展中完善,在完善中发展。(2)整体性保障原则 学生头像采集系统是高校、政府的数字神经系统,每个部门、每个员工都可以通过学生头像采集系统采集人员头像、获取信息,它需要与各项业务系统有通畅的信息接口,充分利用原有系统,保护投资。软件采用平台化结构,平台上的功能模块就像建筑模块一样,这些模块可以独立升级、增添、或自行设计开发,以保证信息系统的发展和完善。(3)实用性与适应性原则实用性是衡量软件质量体系中最重要的指标,是否与业务紧密的结合,是否具有严格的业务针对性,是系统成败的关键因素。因此,每一个提交给用户手上的系统都应该是实用的,解决问题的。适应性是软件质量体系中重要的指标之一,系统的设计从最开始就应该以适应于多种运行环境,而且还必须具有应变能力,以适应未来变化的环境和需求,这就要求软件设计上非常灵活,才能具有很好的通用性。(4)先进性与发展性原则采用现代技术,建立一种新概念的、开放的现代管理和办公环境,它以.NET平台技术、C#语言、USB摄像头技术为核心,编写一个安全可靠的学生头像采集软件。4系统设计4.1系统的设计思想本系统以面向对象思想为基础,明确了使用者和学生还有软件三者之间的关系,参照国内相关软件的设计思想,不论一个应用系统的功能有多么庞大,如果不能让使用者掌握,也不能发挥作用,所以需要正确的运用面向对象的思想。学生头像采集系统不同于学生信息、资料等业务软件,只需要少数人经过简单了解、掌握使用方法就可以,而是涉及各个工作岗位的人员,特别是学校采集照片的相关工作人员。学生头像采集数字化的目的不是为了单纯的拥有现代的科学技术,而是为了提高管理能力和运行效率。高校工作信息化不是一朝一夕的工作,需要不断地发展和完善,需要在发展中完善,在完善中发展。根据用户需求,本软件利用摄像头对学生进行现场采集电子照片,记录摄像头中照片与学生的对应关系,待拍摄完毕后,自动导入电脑并用图像处理软件修改成相应尺寸的照片,系统的设计思想主要在一下几个方面:(1)对于用户最直观的感受就是用户界面,需完成摄像头的的显示功能,实现能够在软件中看的摄像头所记录的画面,影响用户对系统友好性能评价的元素有:颜色、字体大小、界面布局等,这种划分不是绝对的,软件界面作为一个整体,其中任何一个元素不符合用户习惯、不满足用户要求都将降低用户对软件系统的认可度,甚至影响用户的工作效率,而使用户最终放弃使用系统。围绕界面元素所要达到的设计目的是让最终用户能够获得美感、提高工作效率、易于操作使用系统。(2)需完用户最需要的功能即利用摄像头对学生进行拍摄,从而对学生进行电子照片采集,如果一个软件不能满足用户的基本功能,那么其他一切都将是徒劳。因为实用性是衡量软件质量体系中最重要的指标,是否与业务紧密的结合,是否具有严格的业务针对性,是系统成败的关键因素。因此,每一个提交给用户手上的系统都应该是实用的,解决问题的。适应性是软件质量体系中重要的指标之一,系统的设计从最开始就应该以适应于多种运行环境,而且还必须具有应变能力,以适应未来变化的环境和需求,这就要求软件设计上非常灵活,才能具有很好的通用性。 (3)在软件实现了用户需求的基本功能之后,满足了软件的实用性标准之后,软件还需要增加一些简化用户操作的功能,在当今大学生数量越来越多的年代,各个高校需要采集更多的学生头像照片,这就意味着我们要在短时间内完成大量的图像采集工作。如果以传统的工作方式。用数码照相机进行拍照,再对生成的电子照片修改像素,压缩大小,重新以学号命名。这个过程所需的工作量是巨大的,不但很难在短时间内完成,而且也很容易在重命名时出现错误,而且会耽误学生和工作人员不少的时间。可见传统的方式在现今科技高速发展的年代,办公信息数字化的趋势下是不可取的,本文所使用的是摄像机和电脑相结合利用图像采集软件获取考生图像的新方法,其大大提高了工作效率,在规定时间内顺利完成了学生图像采集工作,本软件可以将拍摄好的学生照片头像自动截取,并且可以按照高校要求按照学生姓名与学号为名称进行保存,这样不仅大大减少了学校工作人员的工作量,也节省了学生很多课余时间,提高了工作效率。(4)在软件设计完成之后,如果软件的功能很强大但是需求的计算机配置也随之提高的话,那么在还是发展中国家的我国环境下,将有大部分用户无法使用此软件,所以软件对系统配置的需求也很重要,所以我们需要设计对系统占用低,效率高的软件,从而使更多的用户可以使用,从而为很多用户减少了不必要的支出,比如更换设备等等,从而是用户更满意的使用软件。实用性是衡量软件质量体系中最重要的指标,是否与用户要求紧密的结合,是否具有很好的兼容性,是系统成败的关键因素。因此,每一个提交给用户手上的系统都应该是实用的,解决问题的。适应性是软件质量体系中重要的指标之一,系统的设计从最开始就应该以适应于多种运行环境,而且还必须具有应变能力,以适应未来变化的环境和需求,这就要求软件设计上非常灵活,才能具有很好的通用性。(5)软件在编译完成,无运行错误之后,要给程序做一个详细的说明书,来介绍程序的使用方法,具体到每个功能如何使用,从而让没有计算机水平不高或者没有用功计算机的人群简单轻易的来使用程序,程序的代码中也要加入详细的注释以方便日后修改或添加新的功能。面向对象思想简介,面向对象(Object Oriented)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。 从世界观的角度可以认为:面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;不同对象之间的相互作用和通讯构成了完整的现实世界。因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目。从方法学的角度可以认为:面向对象的方法是面向对象的世界观在开发方法中的直接运用。它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统,面向对象的特征: (1)对象唯一性,每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。 (2)分类性,分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。(3)继承性,继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容,继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性,采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。(4)多态性(多形性),多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性,多态性允许每个对象以适合自身的方式去响应共同的消息,多态性增强了软件的灵活性和重用性。4.2系统的结构根据上述需求分析,本学生头像采集软件可分为一下几个模块:用户层服务层应用层学生学生学生学生学生头像采集系统摄像头模块系统拍照模块系统保存模块完成照片拍摄图4-1软件结构图学生模块,学生头像采集系统模块,摄像头模块,系统拍照模块,系统照片保存模块,学校模块。软件结构图如图4-1所示。4.3系统的功能软件功能介绍:(1)打开相机:可以调用摄像头的的显示功能,实现能够在软件中看的摄像头所记录的画面,从而实现对用户进行头像摄取。(2)关闭相机:可以停止调用摄像头。(3)拍照:截取当前摄像头所记录的画面信息,从而对学生实现电子照片采集。(4)截取照片: 可以找保存照片的头像信息。(4)输入学生信息:可以将学生姓名或学号与 照片进行关联。(5)保存照片: 可以将照片保存为JPG 等常用格式。(6)退出程序: 关闭程序。软件基本功能如图4-2所示。软件系统拍照保存截取打开/关闭相机打开程序退出程序图4-2 头像采集软件基本功能图4.4系统使用流程本软件使用流程,用户需打款软件图标,为.EXE后缀,然后点击打开视频设备,软件会调用函数,获取设备和图像信息,从而采集视频数据,用户可以根据需求来终止采集,然后关闭视频设备,或者保存图像。软件使用流程如 图4-3所示。图4-3 软件流程图打开视频设备获取设备和图像内存映射mmap初始化采集参数开始 图像处理采集视频数据终止采集关闭视频设备退出5系统功能的实现5.1程序启动及其代码启动功能实现代码如下Video VD;Private void Form1_Load (object sender, EventArgs e)VD = new video (pictureBox1.Handle, this.pictureBox1.Left, this.pictureBox1.Top, this.pictureBox1.Width, (short) this.pictureBox1.Height);vd.opVideo ();打开学生头像采集系统,系统主要调用了C#捕捉摄像头的API接口(avicap32.dll),avicap32接口可以简单有效的调用硬件自带摄像头,也可以调用USB设备的摄像头,具有简单方便的特点,程序图标如图5-1所示。图5-1 图标/调用avicap32.dll public struct videohdr_tag /定义参数 public byte lpData; public int dwBufferLength; public int dwBytesUsed; public int dwTimeCaptured; public int dwUser; public int dwFlags; public int dwReserved;DllImport(avicap32.dll, CharSet = CharSet.Ansi, SetLastError = true, ExactSpellin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论