python函数追踪 pycharm变量

python常用函数1、complex()
返回一个形如 a+bj 的复数 , 传入参数分为三种情况:
参数为空时,返回0j;参数为字符串时,将字符串表达式解释为复数形式并返回;参数为两个整数(a,b)时,返回 a+bj;参数只有一个整数 a 时,虚部 b 默认为0 , 函数返回 a+0j 。
2、dir()
不提供参数时,返回当前本地范围内的名称列表;提供一个参数时 , 返回该对象包含的全部属性 。
3、divmod(a,b)
a -- 代表被除数 , 整数或浮点数;b -- 代表除数,整数或浮点数;根据 除法运算 计算 a,b 之间的商和余数,函数返回一个元组(p,q),p 代表商 a//b  , q 代表余数 a%b 。
4、enumerate(iterable,start=0)
iterable -- 一个可迭代对象,列表、元组序列等;start -- 计数索引值,默认初始为0‘该函数返回枚举对象是个迭代器 , 利用 next() 方法依次返回元素值,每个元素以元组形式存在 , 包含一个计数元素(起始为 start )和 iterable 中对应的元素值 。
目标跟踪(5)使用 Opencv 和 Python 进行对象跟踪 在本教程中,python函数追踪我们将学习如何基于 Opencv 和 Python 实现对象跟踪 。
首先必须明确目标检测和目标跟踪有什么区别python函数追踪:
我们将首先讨论对象检测,然后讨论如何将对象跟踪应用于检测 。
可能有不同的应用,例如,计算某个区域有多少人,检查传送带上有多少物体通过,或者计算高速公路上的车辆 。
当然,看过本教程后,您会很容易地想到数以千计的想法应用于现实生活或可能应用于工业 。
在本教程中,我们将使用 3 个文件:
首先我们需要调用highway.mp4文件并创建一个mask:
正如您在示例代码中看到的 , 我们还使用了 createBackgroundSubtractorMOG2 函数,该函数返回背景比率(background ratio),然后创建mask 。
【python函数追踪 pycharm变量】 mask可视化结果:
但是,如您所见 , 图像中有很多噪点 。因此,让我们通过删除所有较小的元素来改进提取,并将我们的注意力集中在大于某个面积的对象上 。
使用 OpenCV 的cv2.drawContours函数绘制轮廓,我们得到了这个结果 。
就本教程而言 , 分析整个窗口并不重要 。我们只对计算在某个点通过的所有车辆感兴趣,因此,我们必须定义一个感兴趣的区域 ROI 并仅在该区域应用mask 。
结果可视化如下:
函数 cv2.createBackgroundSubtractorMOG2 是在开始时添加的,没有定义参数 , 现在让我们看看如何进一步改进我们的结果 。history是第一个参数,在这种情况下 , 它设置为 100,因为相机是固定的 。varThreshold改为 40,因为该值越低 , 误报的可能性就越大 。在这种情况下 , 我们只对较大的对象感兴趣 。
在继续处理矩形之前,我们对图像进行了进一步的清理 。为此,阈值函数就派上用场了 。从我们的mask开始,我们告诉它我们只想显示白色或黑色值,因此通过编写254, 255,只会考虑 254 和 255 之间的值 。
然后我们将找到的对象的坐标插入到 if 条件中并绘制矩形
这是最终结果:
我们现在只需导入和集成跟踪功能 。
一旦创建了对象 , 我们必须获取边界框的每个位置并将它们插入到单个数组中 。
通过在屏幕上显示结果 , 您可以看到所有通过 ROI 的通道是如何被识别的,以及它们的位置是如何插入到特定的数组中的 。显然,识别的摩托车越多,我们的数组就越大 。
现在让我们将带有位置的数组传递给tracker.update() 。我们将再次获得一个包含位置的数组,但此外 , 将为每个对象分配一个唯一的 ID 。

推荐阅读