问题描述:
1. 首先初始化黑色图像和卡尔曼滤波器。在窗口中显示黑色图像
2. 每次窗口化应用程序处理输入 ecevts 时,使用卡尔曼滤波器预测鼠标的位置,然后,根据实际鼠标坐标校正卡尔曼滤波器的模型,在黑色图像的顶部,从旧的预测位置绘制一条红线到 新的预测位置,然后从旧的实际位置到新的实际位置画一条绿线,在窗口中显示绘图
3. 当用户按下 esc 键时,退出并将绘图保存到文件中
实现步骤:
- 初始化卡尔曼滤波器
import cv2
import numpy as np
# create a black image
img = np.zeros((800,800,3),np.uint8)
# initialize the kalman filter
# cv2.KalmanFilter(4,2)
# 4:number of variables tracked->(xpostion,yposition,xvelocity,yvelocity)
# 2:number of variables provided to the filter as a measurement -> (xpostion,yposition)
kalman = cv2.KalmanFilter(4,2)
kalman.measurementMatrix = np.array(
[[1, 0, 0, 0],
[0, 1, 0, 0]], np.float32)
kalman.transitionMatrix = np.array(
[[1, 0, 1, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]], np.float32)
kal