1:滑动条
cv2.createTrackbar(滑动条名称, 窗口名称 , 初始值, 最大值, 回调函数)
cv2.getTrackbarPos(滑动条名称, 窗口名称)返回滑动条位置值
其中最重要的就是回调函数了,每次滑动条变动都会调用回调函数,运行函数内的处理函数。
初始值和最大值都是整数,对于小数的自己设置成整数,然后获取位置值后自己再还原就可以了。
这里展示两种:单滑动条、多滑动条。
单滑动条示例:
多滑动条:
2:背景建模、运动目标检测
只能检测出运动目标,静态目标认为是背景。
主要有两步:
(1)背景模型初始化
(2)背景模型更新
两个常用的接口:cv::createBackgroundSubtractorMOG2、cv.createBackgroundSubtractorKNN
上述代码中第一个黄框是模型初始化,第二个黄框是背景建模和模型更新,是边建模边更新,所以能检测有变化的场景,比如场景从白天变到黑夜。背景建模只是对每帧图像把前景和背景区分开了,是像素级别的区分,并不知道哪些前景是属于同一目标的,需要自己做轮廓检测来确定目标。
领取专属 10元无门槛券
私享最新 技术干货