陶涛
学号:19131213373
【嵌牛导读】使用python编程运动分析,对运动物体进行标记,在此将为大家仔细讲解程序中哪些难以理解的点。
【嵌牛鼻子】Mac, python3.7, opencv, 函数, 算法
【嵌牛正文】
内容是本人在学习过程中整理的知识点,希望能帮助大家理解,其中有不对的地方,也请大家指出。
先来说一下运动分析,
相对运动的基本方式:
1.相机静止,目标运动—背景提取(局部运动)
2.相机运动,目标静止—光流估计(全局运动)
3.相机和目标均运动—光流估计
在这里,我们讨论的是背景提取的一些事。
1. pyrDown()
cv2.pyrDown(src, dst=None, dstsize=None, borderType=none)
2.cv2.threshold()
对单通道数组应用固定阈值操作,典型应用是对灰度图变成二值图。
ret, mask = cv2.threshold(gray, 175,255,cv2.THRESH_BINARY)
将gray图中,灰度值小于175的点置0,大于175的点置255.
返回值有两个,mask是二值图,ret是指定的阈值。
3.findContours()函数
cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
函数运行的时候,图像会被直接涂改, 如果将来还有用的图,应复制之后再传给findcontours()函数。
4. contoursArea(cnts)
计算轮廓面积
输入为单个轮廓值cnts。返回值为面积。
5. cv2.boundingrect(cnts)
获得外接矩形。返回值有四个,分别为x,y,w,h.
网友评论