官方卡尔曼滤波目标追踪实例c++版,本文的opencv版本代码是由改代码改编而来
https://www.myzhar.com/blog/tutorials/tutorial-opencv-ball-tracker-using-kalman-filter/
kalman滤波相关知识,理解等
https://blog.csdn.net/u010712012/article/details/90294295?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2
hsv色彩对照表:(设置运动目标hsv阈值时要用到)
实现效果:
需要视频的话可以去我的下载里面找,有上面这个视频
https://download.csdn.net/download/Miaosh999/12547308
实验环境:
Python3.6+OpenCV3.4+pycharm2019
代码实现:
首先是一个简单的不用kalman滤波的运动目标追踪代码
这里可以根据需要进行摄像头运动目标识别,只要把
camera = cv2.VideoCapture('./video/yellow_ball.mp4')
# 改成camera = cv2.VideoCapture(0) 就是摄像头内识别
完整代码:
from collections import deque
import numpy as np
import cv2
# imutils
import time
#设定阈值,HSV空间
redLower = np.array([11, 100, 100])
redUpper = np.array([20, 255, 255])
#初始化追踪点的列表
mybuffer = 64
pts = deque(maxlen=mybuffer)
#打开摄像头
camera = cv2.VideoCapture('./video/yellow_ball.mp4')
fourcc = cv2.VideoWriter_fourcc(*'XVID') # 保存文件为avi格式
fps = camera.get(cv2.CAP_PROP_FPS)
size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)), int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT))) # 输出视频尺寸,长和宽
out = cv2.VideoWriter('new_yellow_ball.avi', fourcc, fps, si