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

上传人:206****923 文档编号:90618415 上传时间:2019-06-14 格式:DOC 页数:20 大小:418.60KB
返回 下载 相关 举报
个人毕业设计基于python开发的图像_第1页
第1页 / 共20页
个人毕业设计基于python开发的图像_第2页
第2页 / 共20页
个人毕业设计基于python开发的图像_第3页
第3页 / 共20页
个人毕业设计基于python开发的图像_第4页
第4页 / 共20页
个人毕业设计基于python开发的图像_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《个人毕业设计基于python开发的图像》由会员分享,可在线阅读,更多相关《个人毕业设计基于python开发的图像(20页珍藏版)》请在金锄头文库上搜索。

1、河北大学工商学院2013届本科生毕业论文(设计)河北大学工商学院装订线 本科生毕业论文(设计) 题目:基于python开发的图像 采集器之Airppt 学 部 学科门类 专 业 基于python开发的图像采集器之Airppt摘要装订线 本文设计了一个基于python开发的图像采集器,该设计通过普通的USB数字摄像头来捕捉和获取实时图像,利用linux系统下的python脚本中的Opencv图像处理模块和Huigui摄像头识别模块实现了采集图像信息并对图像信息进行分析的功能,该设计具有可靠性高、灵活稳定、低成本的特点,基于python开发的图像采集器将采集到的数据输入到python脚本进行分析处

2、理,并从外部引入C编程,根据不同的处理结果,系统将会调用不同的C程序,从而实现对ppt的翻页。本文系统介绍了用python开发的图像采集器基本满足设计要求。关键词:图像采集器;Python语言;Python C扩展;混合语言编程Development the image acquisition based on pythonABSTRACT Design one based on python development of image capture device, the design by ordinary USB digital camera head to capture and ac

3、cess to real-time image using python script in linux system Opencv image processing module and Huigui camera head identification module to achieve the capture image informationand image information analysis function, the design has high reliability, flexible and stable, low-cost, will be collected b

4、ased on the the python development of image acquisition data input to a python script analysis and processing, from the outside to the introduction of the C programming, depending on the processing results, the system will call the C program, in order to achieve the next page of ppt. We introduce th

5、e basic meet the design requirements with the the python development of image acquisition. Key words:Image acquisition;Python;Python C extension;Mixed-language programming目录 1前言12Python语言介绍32.1Python语言简介32. 2Python语言特性 4 3设计思路和编程5 3.1设计思路 5 3.2设计流程图 5 3.3编程 6 3.3.1Opencv模块引用 6 3.3.2Highgui模块引用 6 3.3

6、.3Image模块引用 6 3.3.4Os模块引用 6 3.4python与C混合编程接口问题 6 4功能和可行性分析95结论 11参考文献12致谢13附录141 引 言信息和网络技术的飞速发展, 使得图像信息量激增,人们对检索图像信息的需求也日益增加。作为一种纯面向对象的动态脚本语言, python 已经在网络应用软件、系统配置软件及科学研究领域获得了广泛的使用,因此本文介绍了一种基于Python的利用Linux平台下Python与C+/C+语言的两种Os.systeam接口, 实现了python与VC的混合语言编程,并将这种软件结构应用于一套图像采集器系统。实际应用表明, 这种结构可以充分

7、发挥Python编程的灵活简单和VC执行效率高的优点, 克服Python执行效率低和VC开发效率低的缺点,实现了软件开发效率和执行效率的双赢。当今社会,科技发达成长了人们的懒惰性,利用各种机器设备做家务,利用远程监控来遥控远在千里之外的东西,总之一切事务趋于自动化。图像采集器(Image acquisition),是指通过摄像头采集图像信息,批量获取图像信息,能够根据图像信息获取到物体运动的位移和执行的动作,这样采集到的图像信息分析更加的准确,可靠性更强。本文设计了一种不用点击鼠标,不用按下键盘,只需要轻轻的挥挥手就可以操纵PPT的翻页的软件-Airppt, 解决了以往操作PPT的繁琐性,满足

8、了人们对方便快捷生活的向往,并且提升了宣讲效率。有了airppt,老师上课讲课就不用总在电脑旁用鼠标控制ppt,这样就加大了老师与学生的互动性。 Airppt利用的原理就是图像采集器,它在国内外应用广泛,并且发展迅速,在国外它应用于军事,医疗,监控等领域。在国内还没有太多的应用,据目前了解到的在国内一般应用于监控的比较多,还有运用于娱乐的,通过采集器将用户的身形采集到屏幕中并且可以采集到你的动作与里面的事物发生互动。本文通过对模块应用环境及功能的认证,确定了应用opencv模块处理图像,huigui模块来识别并调用摄像头采集信息,image模块处理采集到的图像大小等,os模块引入外部C扩展,在

9、利用python代码将这些功能连接起来,最终实现了airppt的相关协议所设定的功能。本文主要研究内容如下:(1) opencv模块的安装调用及作用;(2) Image模块的用法安装;(3) Huigui模块的用法及调用;(4) Python外部C扩展的引入; 本设计采用python程序编写,硬件只需一个外置摄像头作为采集信息的工具。2 Python语言介绍2.1 Python语言简介 Python是一种解释型、交互式、纯面向对象的脚本程序设计语言,它结合了多种不同语言最经典的设计原则和思想。自1990年Guido van Rossum 发明Python以来,它的简单、清晰和优雅吸引了广泛的关

10、注,Python 社区以每两年翻番的速度迅速扩张。例如:Python自google创建之初就是其主要网络应用开发工具;美国国家航空航天局使用Python开发CAD/CAE/PDM资源库, 在此基础上建设新一代协作式工程环境NGCEE(Next Generation Collaborative Engineering Environment);美国国家研究推进机构CNRI(Corporation for National Research Initiatives )1999年启动的Computer Programming for Everybody(C4PE)计划将Python作为未来程序设计语

11、言向教育机构推广; Microsoft于2005年推出Iron Python 的开源项目, 在Visual Studio 2005 中接纳Python语言作为唯一动态脚本语言开发.net应用程序16。2.2 Python语言特性 相比其他任何程序设计语言, Python允许软件设计者更关注于问题本身而不是实现细节, 其主要特性有: (l) 面向对象 Python 是一种纯面向对象语言, 支持面向对象的所有机制, 这使它可以应用于大型软件项目开发。 (2) 虚拟机机制 Python代码编译为字节码在虚拟机上执行,这种类似Java的机制使Python具有平台无关性, 并获得比其他脚本语言更快的执行

12、效率。 (3) 内置高级数据类型 Python中的元组、列表、数组、字典等高级数据类型具有极强的表达能力, 几乎任意复杂的对象在Python中均可以以最简单的方式进行描述。 (4) 交互式开发方式和单元测试 类似Foxpro 和 Matlab ,Python 提供了内置交互式窗口, 可以允许开发者边尝试边书写代码, 极大地提高了软件开发效率。另外单元测试机制在每个类代码完成后均可以单独执行、测试。这两种开发方式使得”搭积木” 式的软件开发过程成为现实。 (5) 动态执行特性 类似早期Dbase系统的宏代替、Python允许动态构造程序代码并执行, 使得软件中的重复代码得到简化。 (6) 高度可

13、扩展性Python 语言本身只实现了一个小内核,其强大功能体现在大量的扩展模块。计算机科学领域几乎所有的已知算法均可找到Python语言扩展。不仅c / c + + 编写的程序可以方便地改写成Python扩展模块,而且Python自身也可以被嵌人到口C/C+项目中。 (7) 平台无关性Python字节码可以不经修改跨平台运行在所有主流操作系统上, 甚至包括Pocket PC 、Palm等嵌入式系统1。 3 设计思路和编程3.1 设计思路 本文的设计思路是: (1).编辑器的选择:python固定的编辑器是vim编辑器,这个编辑器很容易实现脚本的创建保存和运行,能大大提高程序员的编程速度,它还有

14、一个非常强大的功能,在电脑发生意外突然关机的情况下,这个编辑器就会自动保存你之前你没有保存的程序。这样就不会丢失有用的信息 (2).图像坐标的产生:设计中采用的是判断红点的个数,红点指定义的一个红色RGB色调,当我们动作时就会采集到红点动作的个数,通过判断红点的个数,来判断鼠标是否要动作,通过动作的位移来判断鼠标动作的方向。 (3).图像的处理:图像的处理是用Image模块处理的,可改变图像的大小,像素等,这样就可以把采集到的图像信息处理成所需要的。 (4).摄像头接口的处理:这里用的是Opencv模块来实现图像的坐标的采集,opencv的设计意图是为用户提供简单易用的图形用户接口。 (5).动作的反馈:当你用手在摄像头前挥动时,该动作就会被程序所识别,然后发出相应的相应。 (6).功能的设定:这些功能是由C语言写的,然后引入os模块,通过os模块将写好的C功能引入到脚本语言中去。然后再用判断语句,当程序符合哪种条件是就会执行哪些C功能。2软件编程思想本文的软件编程思想是:摄像头要采集手指运动的图像,来判断执行什么样的动作,那么摄像头怎么样才能识别你的手指呢?本文在这里是用颜色(R,G,B)来解决的,本设计把手指用(R,G,B)定义成红点,现在红点就代表手指,应用指令控制摄像头来采集红点。这是本设计的第一步打算。第二步,需要采集的目标已经确定,接下来就是判断红点的运动方向

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号