Python计算机视觉掌握回调函数的方法画图。#python

liftword4周前 (04-09)技术文章14

Python计算机视觉使用回调函数画图。

浙大博士哈佛博后。

我们再来看一个画图程序,看看这个画图程序和刚才的画图程序有什么不一样,就是直接就是画上去了,包括线、方块、园圈。把这个程序先运行一下,你看他在随机的画网,随机的画网你看我点一下,注意看这个是有输出的,看到没有是吧?是有输出的。我再点一下,我点这个地方观察到这个输出什么含义,没有我这个因为图像来说,注意对于图像来讲,左上点就这个地方是零,坐标它的坐标系,这个地方是圆点,你看我点这个地方是不变得很小了,所以你可以猜出来是什么?你看我点这个地方是吧?所以说你看这个是随机在画圆的,但是有点不一样,我点击鼠标的时候,它可以把我这个鼠标不管什么值,它可以把它给找出来然后输出。

这是一个openCV里面很重要的功能,我们来看什么功能,程序我们讲一下。

首先注意看了这个函数,这个函数你看叫做clickevent,从名字上可以看出来叫做什么的,点击事件,点击事件,包括事件坐标flag,还有后面几个参数,对不对?扑克牌参数,什么意思?就是当我用左键点击我这个图像的时候,你看这个事件,因为鼠标的事件有很多,比如鼠标我们知道常见的左键单击双击,右键单击双击,还有中间的滚轴,鼠标的事件是很多的。

所以说你可以发现,这个函数是捕捉到鼠标事件之后做的一个处理。鼠标事件有很多种,那怎么判断是什么样的一个事件?用event是吧?Python for 画笔名字能看出来,L是 left的意思,左键点击的意思,它又把当前的坐标给输出来了,对不对包括Flare这个参数。

当然我们刚才你看的这个结果,刚才结果你看到了,这个地方是个烂,没有传入任何参数,也就是说调用鼠标函数的时候是可以传入参数的。那么这里面要介绍一个,就是Opencb里面,程序就整个的一个程序体系里面非常重要的一种方法,叫做回调的方法。

什么叫回调?回调就是当你发现这个事件的时候去处理,而因为程序就是学习程序编程。如果有基础应该知道程序是顺序执行的,什么叫顺序执行?比如程序执行的时候,它比如说对passing两胎胎载入的函数,执行代码,执行代码,执行代码,如果循环一直循环,代码本身是顺序执行的。

但是有的时候,最常见的需要根据鼠标的事件或者是键盘的事件再做处理,这就是回调,所以说这边就设置了回调。这是 openc里面最常见的操作之一,设置回调,函数名字看得出来,叫 sitmos callback,名字上可以看出来叫做设置鼠标回调。

在哪里设置回调?回调就是要去捕捉一个具体位置的消息,是哪里的回调?这个地方是它窗口的名字,这个地方创建了一个窗口,窗口的名字就是创建一个窗口,就是用来显示图像的窗口,叫Gris,那就是在窗口上面来捕捉事件,捕捉什么事件?因为回调,大家注意可以捕捉各种各样的事件,这捕捉的是可利可疑问的点击。

因为知道鼠标不仅有点击事件,还有滚动拖拉等等,那创建了一个图像。刚才讲过了通过这个数据的方式,创建一个三重道的彩色图像,zero 0表示黑色的,这边弯腰处一直循环。

大家刚才也看到这个结果了,每次随机的产生是不是化缘?画了多少个同?画了二十五个。FR因润是最常见的一种循环的方法,拍成里头。这边循环产生半径,循环产生颜色,循环产生圆点,然后画圆就可以了。没什么要说的比较简单。这边使用了一个拍成随机的方法。

·然后这边是画圆,画圆传入几个参数包括你是在哪里画圆,图像是什么是吧,原点是什么,半径是什么,颜色是什么,其他还有一些其他的参数设置好之后显示就可以了,这边是每隔一千毫秒每隔一秒是吧?这个随机产生一次。

·然后按q键或者是escape键退出。这个程序并不复杂,但是里面第一次接触到了一个非常重要的思想就是回调的思想。当然鼠标可以设置回调,键盘也可以设置回调。知道这一点之后就可以在函数中根据自己的需要找到相关的参数来设置自己的回调方法了。这样你就可以通过鼠标或者键盘的回调做处理参数也是可以传入的。

相关文章

编程与数学:在Python里怎么用turtle库函数填色?

这里只给出一个示例,一个最简单的示例。看懂这个示例,你就能在自己的代码里需要填色的地方填色。首先,与前面发的Python绘画程序一样,先要装入turtle库。然后在代码中,下面需要填色时,先写一个填色...

使用Python寻找图像最常见的颜色

如果我们知道图像或对象最常见的是哪种颜色,那么可以解决图像处理中的几个用例,例如在农业领域,我们可能需要确定水果的成熟度。我们可以简单地检查一下水果的颜色是否在预定的范围内,看看它是成熟的,腐烂的,还...

Python其实很简单 第二十六章 用Python也能绘图

在Python中绘图时,需要导入图形模块turtle。“turtle”的意思是“海龟”,所以这个模块又被称为海龟图形模块。有一个比较出名的集成编程环境叫海龟编辑器,以积木的形式表示命令,编程过程由“写...

我们怎么样使用Python实现一个简单画图软件界面

精选python重要知识设计实践,奉献给一直努力的你,流量不够,感谢头条君,看到是一种缘分,仅给能看到的朋友、同学们默默献上。我想搞一个画图软件,就要一个简单的画布,如我们生活中,要有纸和笔,或者树枝...

OpenCV-Python绘制多边形和选择随机颜色

绘制多边形在使用 opencv 绘制几何图像时,除了大多数情况下绘制的简单形状,有时也需要绘制复杂的多边形形状。下面就来一起尝试如何绘制多边形形状。首先需要了解几个 opencv 库函数。cv.pol...

周末也不要忘记我们在学习python:Python Turtle绘图从基础到实战

我曾经是一名设计工程师,收入吧不高也不低,但随着建筑行业的发展,收入一落千丈,现在被迫去学习更多新的技能,因为一不小心,没有技术的人就面临失业的痛苦,所以我们得有活技术在手,所以每天都坚持学习。周末除...