个人毕业设计基于python开发的图像

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

河北大学工商学院2013届本科生毕业论文(设计)本科生毕业论文(设计)题目:基于python开发的图像采集器之Airppt学部学科门类专业装订线河北大学工商学院河北大学工商学院2013届本科生毕业论文(设计)基于python开发的图像采集器之Airppt摘要本文设计了一个基于python开发的图像采集器,该设计通过普通的USB数字摄像头来捕捉和获取实时图像,利用linux系统下的python脚本中的Opencv图像处理模块和Huigui摄像头识别模块实现了采集图像信息并对图像信息进行分析的功能,该设计具有可靠性高、灵活稳定、低成本的特点,基于python开发的图像采集器将采集到的数据输入到python脚本进行分析处理,并从外部引入C编程,根据不同的处理结果,系统将会调用不同的C程序,从而实现对ppt的翻页。本文系统介绍了用python开发的图像采集器基本满足设计要求。关键词:图像采集器;Python语言;PythonC扩展;混合语言编程装订线河北大学工商学院2013届本科生毕业论文(设计)河北大学工商学院2013届本科生毕业论文(设计)DevelopmenttheimageacquisitionbasedonpythonABSTRACTDesignonebasedonpythondevelopmentofimagecapturedevice,thedesignbyordinaryUSBdigitalcameraheadtocaptureandaccesstoreal-timeimageusingpythonscriptinlinuxsystemOpencvimageprocessingmoduleandHuiguicameraheadidentificationmoduletoachievethecaptureimageinformationandimageinformationanalysisfunction,thedesignhashighreliability,flexibleandstable,low-cost,willbecollectedbasedonthethepythondevelopmentofimageacquisitiondatainputtoapythonscriptanalysisandprocessing,fromtheoutsidetotheintroductionoftheCprogramming,dependingontheprocessingresults,thesystemwillcalltheCprogram,inordertoachievethenextpageofppt.Weintroducethebasicmeetthedesignrequirementswiththethepythondevelopmentofimageacquisition.Keywords:Imageacquisition;Python;PythonCextension;Mixed-languageprogramming河北大学工商学院2013届本科生毕业论文(设计)目录1前言..................................错误!未定义书签。2Python语言介绍..........................................32.1Python语言简介.........................................32.2Python语言特性........................................43设计思路和编程..........................................53.1设计思路...............................................53.2设计流程图.............................................53.3编程...................................................63.3.1Opencv模块引用......................................63.3.2Highgui模块引用.....................................63.3.3Image模块引用.......................................63.3.4Os模块引用..........................................63.4python与C混合编程接口问题............................64功能和可行性分析.........................................95结论...................................................11参考文献...................................................12致谢.....................................................13附录.......................................................14河北大学工商学院2013届本科生毕业论文(设计)11引言信息和网络技术的飞速发展,使得图像信息量激增,人们对检索图像信息的需求也日益增加。作为一种纯面向对象的动态脚本语言,python已经在网络应用软件、系统配置软件及科学研究领域获得了广泛的使用,因此本文介绍了一种基于Python的利用Linux平台下Python与C++/C++语言的两种Os.systeam接口,实现了python与VC的混合语言编程,并将这种软件结构应用于一套图像采集器系统。实际应用表明,这种结构可以充分发挥Python编程的灵活简单和VC执行效率高的优点,克服Python执行效率低和VC开发效率低的缺点,实现了软件开发效率和执行效率的双赢。当今社会,科技发达成长了人们的懒惰性,利用各种机器设备做家务,利用远程监控来遥控远在千里之外的东西,总之一切事务趋于自动化。图像采集器(Imageacquisition),是指通过摄像头采集图像信息,批量获取图像信息,能够根据图像信息获取到物体运动的位移和执行的动作,这样采集到的图像信息分析更加的准确,可靠性更强。本文设计了一种不用点击鼠标,不用按下键盘,只需要轻轻的挥挥手就可以操纵PPT的翻页的软件--Airppt,解决了以往操作PPT的繁琐性,满足了人们对方便快捷生活的向往,并且提升了宣讲效率。有了airppt,老师上课讲课就不用总在电脑旁用鼠标控制ppt,这样就加大了老师与学生的互动性。Airppt利用的原理就是图像采集器,它在国内外应用广泛,并且发展迅速,在国外它应用于军事,医疗,监控等领域。在国内还没有太多的应用,据目前了解到的在国内一般应用于监控的比较多,还有运用于娱乐的,通过采集器将用户的身形采集到屏幕中并且可以采集到你的动作与里面的事物发生互动。本文通过对模块应用环境及功能的认证,确定了应用opencv模块处理图像,huigui模块来识别并调用摄像头采集信息,image模块处理采集到的图像大小等,os模块引入外部C扩展,在利用python代码将这些功能连接起来,最终实现了airppt的相关协议所设定的功能。本文主要研究内容如下:(一)opencv模块的安装调用及作用;(二)Image模块的用法安装;(三)Huigui模块的用法及调用;(四)Python外部C扩展的引入;本设计采用python程序编写,硬件只需一个外置摄像头作为采集信息的工具。河北大学工商学院2013届本科生毕业论文(设计)22Python语言介绍2.1Python语言简介Python是一种解释型、交互式、纯面向对象的脚本程序设计语言,它结合了多种不同语言最经典的设计原则和思想。自1990年GuidovanRossum发明Python以来,它的简单、清晰和优雅吸引了广泛的关注,Python社区以每两年翻番的速度迅速扩张。例如:Python自google创建之初就是其主要网络应用开发工具;美国国家航空航天局使用Python开发CAD/CAE/PDM资源库,在此基础上建设新一代协作式工程环境NGCEE(NextGenerationCollaborativeEngineeringEnvironment);美国国家研究推进机构CNRI(CorporationforNationalResearchInitiatives)1999年启动的ComputerProgrammingforEverybody(C4PE)计划将Python作为未来程序设计语言向教育机构推广;Microsoft于2005年推出IronPython的开源项目,在VisualStudio2005中接纳Python语言作为唯一动态脚本语言开发.net应用程序[16]。2.2Python语言特性相比其他任何程序设计语言,Python允许软件设计者更关注于问题本身而不是实现细节,其主要特性有:(l)面向对象Python是一种纯面向对象语言,支持面向对象的所有机制,这使它可以应用于大型软件项目开发。(2)虚拟机机制Python代码编译为字节码在虚拟机上执行,这种类似Java的机制使Python具有平台无关性,并获得比其他脚本语言更快的执行效率。(3)内置高级数据类型Python中的元组、列表、数组、字典等高级数据类型具有极强的表达能力,几乎任意复杂的对象在Python中均可以以最简单的方式进行描述。(4)交互式开发方式和单元测试类似Foxpro和Matlab,Python提供了内置交互式窗口,可以允许开发者边尝试边书写代码,极大地提高了软件开发效率。另外单元测试机制在每个类代码完成后均可以单独执行、测试。这两种开发方式使得”搭积木”式的软件开发过程成为现实。(5)动态执行特性类似早期Dbase系统的宏代替、Python允许动态构造程序代码并执行,使得软件中的重复代码得到简化。(6)高度可扩展性Python语言本身只实现了一个小内核,其强大功能体现在大量的扩展模块。计算机科学领域几乎所有的已知算法均可找到Python语言扩展。不仅c/c++编写的程序可以方便地改写成Python扩展模块,而且Python自身也可以被嵌人到口C/C++项目中。(7)平台无关性Python字节码可以不经修改跨平台运行在所有主流操作系统上,甚至包括PocketPC、Palm等嵌入式系统[1]。河北大学工商学院2013届本科生毕业论文(设计)33设计思路和编程3.1设计思路本文的设计思路是:(1).编辑器的选择:python固定的编辑器是vim编辑器,这个编辑器很容易实现脚本的创建保存和运行,能大大提高程序员的编程速度,它还有一个非常强大的功能,在电脑发生意外突然关机的情况下,这个编辑器就会自动保存你之前你没有保存的程序。这样就不会丢失有用的信息(2).图像坐标的产生:设计中采用的是判断红点的个数,红点指定义的一个红色RGB色调,当我们动作时就会采集到红点动作的个数,通过判断红点的个数,来判断鼠标是否要动作,通过动作的位移来判断鼠标动作的方向。(3).图像的处理:图像的处理是用Image模块处理的,可改变图像的大小,像素等,这样就可以把采集到的图像信息处理成所需要的。(4).摄像头接口的处理:这里用的是Opencv模块来实现图像的坐标的采集,opencv的设计意图是为用户提供简单易用的图形用户接口。(5).动作的反馈:当你用手在摄像头前挥动时,该动作就会被程序所识别,然后发出相应的相应。(6).功能的设定:这些功能是由C语言写的,然后引入os模块,通过os模块将写好的C功能引入到脚本语言中去。然后再用判断语句,当程

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功