个人优质毕业设计基于python开发的图像.doc
《个人优质毕业设计基于python开发的图像.doc》由会员分享,可在线阅读,更多相关《个人优质毕业设计基于python开发的图像.doc(24页珍藏版)》请在咨信网上搜索。
河北大学工商学院 装 订 线 本科生毕业论文(设计) 题目:基于python开发图像 采集器之Airppt 学 部 学科门类 专 业 基于python开发图像采集器之Airppt 摘 要 装 订 线 本文设计了一个基于python开发图像采集器,该设计经过一般USB数字摄像头来捕捉和获取实时图像,利用linux系统下python脚本中Opencv图像处理模块和Huigui摄像头识别模块实现了采集图像信息并对图像信息进行分析功效,该设计含有可靠性高、灵活稳定、低成本特点,基于python开发图像采集器将采集到数据输入到python脚本进行分析处理,并从外部引入C编程,依据不一样处理结果,系统将会调用不一样C程序,从而实现对ppt翻页。本文系统介绍了用python开发图像采集器基础满足设计要求。 关键词:图像采集器;Python语言;Python C扩展;混合语言编程 Development the image acquisition based on python ABSTRACT Design one based on python development of image capture device, the design by ordinary USB digital camera head to capture and access 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 based 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 the 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 序言 1 2 Python语言介绍 3 2.1 Python语言介绍 3 2. 2 Python语言特征 4 3 设计思绪和编程 5 3.1 设计思绪 5 3.2 设计步骤图 5 3.3 编程 6 3.3.1 Opencv模块引用 6 3.3.2 Highgui模块引用 6 3.3.3 Image模块引用 6 3.3.4 Os模块引用 6 3.4 python和C混合编程接口问题 6 4 功效和可行性分析 9 5 结论 11 参考文件 12 致谢 13 附录 14 1 引 言 信息和网络技术飞速发展, 使得图像信息量激增,大家对检索图像信息需求也日益增加。作为一个纯面向对象动态脚本语言, python 已经在网络应用软件、系统配置软件及科学研究领域取得了广泛使用,所以本文介绍了一个基于Python利用Linux平台下Python和C++/C++语言两种Os.systeam接口, 实现了python和VC混合语言编程,并将这种软件结构应用于一套图像采集器系统。实际应用表明, 这种结构能够充足发挥Python编程灵活简单和VC实施效率高优点, 克服Python实施效率低和VC开发效率低缺点,实现了软件开发效率和实施效率双赢。 当今社会,科技发达成长了大家懒惰性,利用多种机器设备做家务,利用远程监控来遥控远在千里之外东西,总而言之一切事务趋于自动化。图像采集器(Image acquisition),是指经过摄像头采集图像信息,批量获取图像信息,能够依据图像信息获取到物体运动位移和实施动作,这么采集到图像信息分析愈加正确,可靠性更强。本文设计了一个不用点击鼠标,不用按下键盘,只需要轻轻挥挥手就能够操纵PPT翻页软件--Airppt, 处理了以往操作PPT繁琐性,满足了大家对方便快捷生活向往,而且提升了宣讲效率。有了airppt,老师上课讲课就不用总在电脑旁用鼠标控制ppt,这么就加大了老师和学生互动性。 Airppt利用原理就是图像采集器,它在中国外应用广泛,而且发展快速,在国外它应用于军事,医疗,监控等领域。在中国还没有太多应用,据现在了解到在中国通常应用于监控比较多,还有利用于娱乐,经过采集器将用户身形采集到屏幕中而且能够采集到你动作和里面事物发生互动。 本文经过对模块应用环境及功效认证,确定了应用opencv模块处理图像,huigui模块来识别并调用摄像头采集信息,image模块处理采集到图像大小等,os模块引入外部C扩展,在利用python代码将这些功效连接起来,最终实现了airppt相关协议所设定功效。 本文关键研究内容以下: (一) opencv模块安装调用及作用; (二) Image模块使用方法安装; (三) Huigui模块使用方法及调用; (四) Python外部C扩展引入; 本设计采取python程序编写,硬件只需一个外置摄像头作为采集信息工具。 2 Python语言介绍 2.1 Python语言介绍 Python是一个解释型、交互式、纯面向对象脚本程序设计语言,它结合了多个不一样语言最经典设计标准和思想。自1990年Guido van Rossum 发明Python以来,它简单、清楚和优雅吸引了广泛关注,Python 小区以每两年翻倍速度快速扩张。比如:Python自谷歌创建之初就是其关键网络应用开发工具;美国国家航空航天局使用Python开发CAD/CAE/PDM资源库, 在此基础上建设新一代协作式工程环境NGCEE(Next Generation Collaborative Engineering Environment);美国国家研究推进机构CNRI(Corporation for National Research Initiatives )1999年开启Computer Programming for Everybody(C4PE)计划将Python作为未来程序设计语言向教育机构推广; Microsoft于推出Iron Python 开源项目, 在Visual Studio 中接纳Python语言作为唯一动态脚本语言开发.net应用程序[16]。 2.2 Python语言特征 相比其它任何程序设计语言, 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字节码能够不经修改跨平台运行在全部主流操作系统上, 甚至包含Pocket PC 、Palm等嵌入式系统[1]。 3 设计思绪和编程 3.1 设计思绪 本文设计思绪是: (1).编辑器选择:python固定编辑器是vim编辑器,这个编辑器很轻易实现脚本创建保留和运行,能大大提升程序员编程速度,它还有一个很强大功效,在电脑发生意外忽然关机情况下,这个编辑器就会自动保留你之前你没有保留程序。这么就不会丢失有用信息 (2).图像坐标产生:设计中采取是判定红点个数,红点指定义一个红色RGB色调,当我们动作时就会采集到红点动作个数,经过判定红点个数,来判定鼠标是否要动作,经过动作位移来判定鼠标动作方向。 (3).图像处理:图像处理是用Image模块处理,可改变图像大小,像素等,这么就能够把采集到图像信息处理成所需要。 (4).摄像头接口处理:这里用是Opencv模块来实现图像坐标采集,opencv设计意图是为用户提供简单易用图形用户接口。 (5).动作反馈:当你用手在摄像头前挥舞时,该动作就会被程序所识别,然后发出对应对应。 (6).功效设定:这些功效是由C语言写,然后引入os模块,经过os模块将写好C功效引入到脚本语言中去。然后再用判定语句,当程序符合哪种条件是就会实施哪些C功效。 2软件编程思想 本文软件编程思想是:摄像头要采集手指运动图像,来判定实施什么样动作,那么摄像头怎么样才能识别你手指呢?本文在这里是用颜色(R,G,B)来处理,本设计把手指用(R,G,B)定义成红点,现在红点就代表手指,应用指令控制摄像头来采集红点。这是本设计第一步计划。 第二步,需要采集目标已经确定,接下来就是判定红点运动方向和位移,我这里是经过判定红点运动方一直确定对airppt实施什么样动作;经过红点位移和个数来确定airppt是否要实施该动作,本设计在这里定义是位移大于70mm,红点个数大于20个时airppt才会实施对应动作。因为动画全部是由一张张图片组成,假如不判定位移,当你不动作时它也会自动采集红点,进而发生动作反应,这么就犯错了。这里中心思想就是if判定语句,事件处理系统和for循环语句。 3.2 设计步骤图 本文定义参考物是一个用代码编写RGB红点。而且分析每张图片红点数,当红点数达成70个时将该图片列为有效图片,不然无效。 有效图片 无效图片抛弃 红点数目是否大于70 判定图像中红点数目 经过摄像头采集图片 遍历该图片中每个坐标点 开始 N Y 图 3-1 设计全局架构结构图 图3-1是本设计全局架构结构图,是本设计得以实现最关键部分,对获取到图片分析是否有效,接下来则是细节部分,分析两张最近有效图片中心点位置来判定左翻页还是右翻页还是不翻页。 位移正负 有效动作,ppt动作 开始 找到有效图片中全部红点坐标中心坐标 对比两张最近有效图片中心坐标 得到两次对比位移大小 位移大小是否大于5cm 无效动作,ppt不动作 N Y 左翻页 右翻页 负 正 图3-2 有效图片筛选架构图 图3-2实现是对有效图片进行分析,经过判定最近两张有效图片中心位置点位置关系来决定ppt是否实施动作,实施动作时是左翻页还是右翻页等一系列功效。完成这一步所需程序以下: if len(list2)>20: #假如列表中坐标个数大于20个 if len(list2) > 20: tn3=list2[-1][0]-list2[0][0] #将横坐标长度赋值给tn3 tn4=list2[-1][1]-list2[0][1] #将纵坐标长度赋值给tn4 while len(list2)>3: # list2.pop(0) #print '..........................',tn3 #print tn4 if tn4>50 and tn3>-50 and tn3<50: os.system('./a.x 71') if tn4<-50 and tn3>-50 and tn3<50: os.system('./a.x 9') if tn3<-100: os.system('./a.x 114') #print '[right]' #time.sleep(0.8) if tn3>100: os.system('./a.x 113') #print '[left]' #time.sleep(0.8) 每次判定完一张图片后,就把列表中红点数目和坐标等全部删除。这么就不会对下一张图片造成影响。 3.3 编程 在开始编程之前要先确定编程工具,本设计用是vim编辑器。这个编辑器最大优势就是,在意外情况下能够自动保留代码。现代码错误时,会提醒错误信息,能够立即进行修改。以下是本设计部分代码: #!/usr/bin/python 这是解释python语言在电脑中位置 #-*- coding: UTF-8 -*- 这是python脚本中汉字解释器 3.3.1 opencv模块 import opencv 从外部引入opencv模块 本设计用到opencv代码以下: cam=highgui.cvCreateCameraCapture(0) #定义摄像头端口位置 tn1=opencv.adaptors.Ipl2PIL(im) #采集到图像定义为tn1 OpenCV全称是Open Source Computer Vision Library,是一个跨平台计算机视觉库。OpenCV是由英特尔企业提议并参与开发,以BSD许可证授权发行,能够在商业和研究领域中无偿使用。OpenCV可用于开发对实时图像处理、计算机视觉和模式识别程序。OpenCV用C++语言编写,它关键接口也是C++语言,不过仍然保留了大量C语言接口。该库也有大量Python, Java and MATLAB/OCTAVE接口。这些语言API接口函数能够经过在线文档取得。现在也提供对于C#,Ch,Ruby支持。 安装Opencv所需依靠工具: cmake, gtk+*, ffmpeg*, gstreamer* 编译安装: $ cd $DIR $ mkdir release $ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON .. $ make -j $ make install 3.3.2 highgui模块 from opencv import highgui 从opencv图形处理模块中引入highgui模块。HighHGUI只是用来建立快速软件原形或是试验用。它设计意图是为用户提供简单易用图形用户接口。 本设计用到highgui模块以下: im=highgui.cvQueryFrame(cam);这里highgui用来采集图像 OpenCV为了用于生产等级应用而设计。HighHGUI只是用来建立快速软件原形或是试验用。它设计意图是为用户提供简单易用图形用户接口。通常,你需要读入源图像到你程序或输出结果图像到磁盘。另外,需要用简单方法显示图像到监视器而且向用户提供输入.假如你试图创建最终用户应用,请不要使用HighGUI 。 相对来说,应该为你目标系统参考特定函数库。比如:HighGUI中摄像头输入方法(cvCreateCameraCapture)是为了易用而设计。然而,并不意味着它能够对热插拔作出反应等等[2]。 3.3.3 image模块 import Image 引入图像模块,对采集到图像进行处理 本设计用到image模块代码: tn1=tn1.resize((160,160)) #重新设置采集到图像大小 size1=tn1.size #将重新设置图像大小值定义位size1 pbb=tn1.load() #载入图像 PythonWare企业提供了无偿图像处理工具包PIL(Python Image Library),该软件包提供了基础图像处理功效,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等 等。即使在这个软件包上要实现类似MATLAB中复杂图像处理算法并不太适合,不过Python快速开发能力和面向对象等等很多特点使得它很适 适用来进行原型开发。在PIL中,任何一副图像全部是用一个Image对象表示,而这个类由和它同名模块导出,所以,要加载一副图像,最简单形式是这么:import Image img = Image.open(“dip.jpg”) 注意:第一行Image是模块名;第二行img是一个Image对象; Image类是在Image模块中定义。相关Image模块和Image类,切记不要混淆了。现在,我们就能够对img进行多种操作了,全部对img 操作最终全部会反应到到dip.img图像上。这个模块提供了一个常见图像增强工具箱。能够用来进行色彩增强、图像叠加、改变图像大小、亮度增强、对比度增强、图像尖锐化等等增强操作。全部操作全部有相同形式接口——经过相 应类enhance方法实现:色彩增强经过Color类enhance方法实现;亮度增强经过Brightness类enhance方法实现;对比度增强经过Contrast类enhance方法实现;尖锐化经过Sharpness类enhance方法实现。全部操作全部需要向类结构函数传输 一个Image对象作为参数,这个参数定义了增强作用对象。同时全部操作全部返回一个新Image对象。假如传给enhance方法参数是1.0, 则不对原图像做任何改变,直接返回原图像一个拷贝。 3.34 os模块 import os 引入os模块,os模块提供了一个统一操作系统接口函数 本设计引用os模块所实现代码以下: os.system('./fake-mouse-move.x 0 ' + str(m) + ' ' + str(n))#引入用C语言编写程序 Python C 扩展 一个C 源程序中算法开发测试完成后,能够改写为python C 扩展暴露给Python程序使用。比如将C源程序中foo函数转换为python语言扩展, 需要以下步骤: (l) 包含python.h 头文件, 连接pythonXX.lib(XX 是python版本号),其中Python.h 定义了全部Python内部数据结构和CAPI函数原型。 (2) 定义一个此扩展模块异常对象。 (3) 实现一个用户端函数, 这个函数负责将传入python对象参数转换为C对象并用这些参数调用foo函数, 最终将结果转换为python对象返回,假如出现错误,则设置异常对象并返回Null。这个用户端函数充当python和C程序之间参数调度者。 (4 ) 填写一个扩展模块定义全部函数名和用户端函数对应关系表, 实现python程序和C 程序映射。 (5) 完成扩展模块初始化函数[11]。 3.4 C语言和Python语言混合编程接口问题 整个软件编程关键是用Python语言, C 语言只占了一小部分,所以设计中,将用C语言编求解器做成一个扩展模块,嵌入到Python语言中。下面给出了在本软件中接口设计方法。 第一步,将用C语言编写代码在C 编译器中编译调试成功; 第二步, 在C代码中加入# include “Python. c”这条语句, 告诉C编译器将要调用Python 库函数。 第三步, 在C代码中主函数加上"PyObject * Module_func( )"Python打包器,此打包器作用是把接收到Python类型值转换成C语言数据类型值,并用这些值做为实参,放到相关函数中去计算, 计算完成后, 假如要将结果输出到Python编写处理器中, 必需由打包器接收计算结果并把它们转换成Python语言数据。 经过以上步骤即可完成C语言和python语言混合编程。Python中将这些步骤封装成了一个方法,即Os.system(),不过python中识别C代码需要这么格式:os.system(‘./...’)[8]。 4 功效分析及预期效果 一、 功效分析 利用手指控制ppt实现功效有:左翻页,右翻页,开启全屏,退出全屏 系统关键由Python开发,因为它自带模块较多,所以要依据需求来调用其中对我们开发airppt有用模块,需要熟悉python中各个模块作用和使用方法。airppt原理是依据坐标和像素来采集图像信息,然后返回到程序中,经过图像处理工具对采集到图像进行处理,最终形成动作,来实现airppt功效。 本设计首先要用到图像处理工具是Opencv, 从opencv图形处理模块中引入highgui模块。HighHGUI只是用来建立快速软件原形或是试验用。它设计意图是为用户提供简单易用图形用户接口;引入图像模块Image对采集到图像进行处理,引入os模块提供一个统一操作系统接口函数;引入时间模块来获取当地时间。 其次要熟悉python编程方法和获取坐标原理,和处理接口问题,这么就需要多看python方面资料,而且要选择编辑器来进行代码编写。代码编写要求:掌握python基础概念和基础理论知识;熟练编程工具使用方法;对程序进行初步编写和调试。 现在我只是初步实现了airppt部分功效,接下来还要对它进行调试、整合,扩充它功效,直至其能实现手动控制ppt。 二、 预期效果 经过测试,摄像头能够获取到手指信息,光标而且会跟随手指运动而动作,现在还没有实现虚拟点击效果,而且这个版本光标动作不太稳定,会在光标周围晃动,所以本设计开发了第二个版本,第二个版本不能显示光标动作痕迹,不过能控制ppt动作,识别效果不太显著,经分析这和摄像头像素相关。不过还好,本设计预期功效基础全部实现了。以后还会增加在新功效,优化已经有功效。下面是程序运行截图,图4-1是实施代码后截图,图4-2是操作ppt翻页程序运行截图。 图4-1 程序运行截图 图 4-2 程序实施操作截图 5 结论 在此次毕设中,我学到了很多东西,而且让我疯狂喜爱上了编程,这段时间感觉过尤其充实,这多个月比大学四年学东西全部多,当然也有部分值得改善以借鉴地方,现总结以下: 1、 需求设计:在前期查阅了相关资料,对python原理有一定了解以后,就开始着手对设计进行需求分析。而且试着画需求步骤图,可是经几番修改再修改,还是没能如愿,这说明自己在这方面还有很多需要提升地方。于是就画出了双面板,不过我没有充足考虑到这些功效实际情况,使得做出需求很不好实现,不过最终还是做出了切合实际需求分析步骤,在老师教导下学会了制作需求分析步骤方法。 2、 环境配置:在做出了需求分析后,将对应软件下载以后,有软件却怎么也装不上,也不能引入到程序中。用print来分行检验代码,我发觉有安装包需要依靠关系,或是有需要源码安装,很费事,最终还是有一两个包装不上,最终在老师帮助下全部包全部装上了,原来需要外源才能够安装。我想到了可能是这个原因,不过不知道怎么去配置外源,这也让我认识到要利用合理有效方法去迎难而上,而不是想当然,问题很有可能就是出在这上面。 3、 代码编写:查阅了大量资料,有了这方面思绪后就开始编写代码了,获取摄像头设置,接收采集信息设置,不过意外情况判定全部让我认为有些难以实现,尤其是判定参考物是否动作了,是向那个方向动作等,获取和处理联调实现起来确实不难么轻易,还需要对编程思绪深入认识。 参考文件 [1] (丘恩Chun)(W.J.). Python关键编程(第2版)[M]. 人民邮电出版社 .. [2] Doug Hellmann . Python标准库[M]. 机械工业出版社. . [3] Paul Gries . Python编程实践[M]. 机械工业出版社. . [4] Mark Lutz . Programming Python[M] 出版社. . [5] 赫特兰 著 .Python基础教程(第2版)[M]. 人民邮电出版社. . [6] 鲁特兹 . Python学习手册(第3版)[M]. 机械工业出版社. . [9] 李艳红,李海华.传感器原理及其应用[M].北京:北京理工大学出版社,. [10] 谭浩强.C程序设计北京[M].北京:清华大学出版社,1999. [11] 霍顿C语言入门经典(第4版)[M].北京:清华大学出版社,. [12] 张若愚Python科学计算[M]:清华大学出版社,. [13] James PaynePython编程入门经典 [M]:清华大学出版社,. [14] 巴里深入浅出Python[M].北京:东南大学出版社,. [15] Y.Daniel LiangPython语言程序设计[M]:机械工业出版社,. [16] Guido van Rossum Python Tutorial[J]:Python Software Foundation,. 致 谢 这次在试验室经历是我在大学最终一次了,想想从大一开始,有过多少次试验课上看着同学全部快走完了,自己还没什么头绪焦头烂额,现在想起来竟是那么可笑,却又带着几分回想和伤感。 我很珍爱这次做毕设机会,不仅仅是我要交出大学阶段学习结果,更是对自己能力和知识检测。在此,衷心地感谢我指导老师。在我做毕业设计阶段,她自始至终给了我精心指导和严格要求,为本论文顺利完成倾注了大量心血。老师为人谦逊,热心帮助学生,在我们做毕设碰到问题时候总能够不厌其烦耐心给予指导,在此我要衷心对老师说声谢谢。在她热心指导下,我学到不仅仅是知识,还有做人上严谨、独立,用科学头脑武装自己。 回首大学四年时光,我要感谢那些帮助过我人,也要感谢那些伤害过我人,是她们让我对自我有了更为清醒认识,不再沉醉于自我满足之中,这又何尝不是这一个收获呢。其实,最应该感谢还是自己,因为路是自己走出来,有美景,也有荆棘,但关键是,我会以愈加稳健步伐,朝着未来勇敢走下去。 反思这一阶段,体会最深一点就是,编程就是要有清楚思绪,这么编起来才有目标性,思维不灵活造成有很多本该轻松了解东西走了弯路,这并不是我理想中状态。硬件也好,软件也罢,全部需要系统理论知识支撑。徒有皮毛而不深入是不行,只有有科学理性方法去对待,碰到问题能镇静去沿着正确轨道去思索进而处理问题是在以后学习和工作中要时常提醒自己,这也是毕设给我带来最大收获。感谢我敬爱老师给我这次机会。 附 录 从毕设中得到了部分课外新知识,虚拟机不能用真机自带摄像头。这也是我毕设中碰到最棘手问题,我最终处理方法是给虚拟机安装USB然后外置一个摄像头,这么才把问题处理了。我认为这是一个很有价值知识点,全部我把它统计在这里。 以下是本设计完整代码: import time list2=[] #定义一个空列表 cam=highgui.cvCreateCameraCapture(2) #定义摄像头端口位置 while True: im=highgui.cvQueryFrame(cam) tn1=opencv.adaptors.Ipl2PIL(im) #采集到图像定义位tn1 tn1=tn1.resize((160,160)) #重新设置采集到图像大小 size1=tn1.size #将重新设置图像大小值定义位size1 pbb=tn1.load() #加载重新设置大小后图像tn1 c=0 d=0 #定义位置初值c:横坐标,d:纵坐标 e=0 ; #定义红点初始值为0 for i in range(size1[0]): for j in range(size1[1]): #遍历图像中每个像素点 if pbb[i,j][0]>100 and pbb[i,j][0]>2*pbb[i,j][1] and pbb[i,j][0]>2*pbb[i,j][2]: #定义动作参考物,这里我将它定义为'红点' c+=i d+=j #假如该像素点符合我们所定义红点特征,则将此位置加到横纵坐标上? e+=1 #同时像素点数加1(可求出我们采集到这张图片中全部红点数) #print '-----------------------------------------',e#假如红点数大于70个 if e>70: #假如红点数大于70个 list2.append((c/e,d/e)) #将横纵坐标平均值加入先前定义空列表中? m=(160-list2[-1][0])*1280/140-100 #鼠标移动 n=list2[-1][1]*1024/140-100 # # print m,n os.system('./fake-mouse-move.x 0 ' + str(m) + ' ' + str(n))#引入用C语言编写程序 # if len(list2)>20: #假如列表中坐标个数大于20个 if len(list2) > 20: tn3=list2[-1][0]-list2[0][0] #将横坐标长度赋值给tn3 tn4=list2[-1][1]-list2[0][1] #将纵坐标长度赋值给tn4 while len(list2)>3: # list2.pop(0) #print '..........................',tn3 #print tn4 if tn4>50 and tn3>-50 and tn3<50: os.system('./a.x 71') if tn4<-50 and tn3>-50 and tn3<50: os.system('./a.x 9') if tn3<-100: os.system('./a.x 114') #print '[right]' #time.sleep(0.8) if tn3>100: os.system('./a.x 113') #print '[left]' #time.sleep(0.8) elif len(list2)>1: tn3=list2[-1][0]-list2[0][0] tn4=list2[-1][1]-list2[0][1] list2=[] #print '...........................',tn3 #print tn4 if tn4>50 and tn3<50 and tn3>-50: os.system('./a.x 71') if tn4<-50 and tn3<50 and tn3>-50: os.system('./a.x 9') if tn3<-100: os.system('./a.x 114') #print '[right]' #time.sleep(0.8) if tn3>100: os.system('./a.x 113') #print '[left]' #time.sleep(0.8) del tn1 del pbb del im del c del e del d- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 优质 毕业设计 基于 python 开发 图像
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文