本文整理汇总了Python中cv2.KalmanFilter方法的典型用法代码示例。如果您正苦于以下问题:Python cv2.KalmanFilter方法的具体用法?Python cv2.KalmanFilter怎么用?Python cv2.KalmanFilter使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cv2
的用法示例。
在下文中一共展示了cv2.KalmanFilter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: myKalman
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import KalmanFilter [as 别名]
def myKalman(tid):
if tid not in workers:
kalman = cv2.KalmanFilter(4, 2) # 4:状态数,包括(x,y,dx,dy)坐标及速度(每次移动的距离);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) # 状态转移矩阵
kalman.processNoiseCov = np.array([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]], np.float32)*0.03 # 系统过程噪声协方差
KalmanNmae[tid] = kalman
示例2: create_kalman
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import KalmanFilter [as 别名]
def create_kalman(self):
"""Creates kalman filter."""
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)
kalman.processNoiseCov = np.array([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0],
[0, 0, 0, 1]], np.float32) * 0.03
self.kalman = kalman
self.measurement = np.array((2, 1), np.float32)
self.prediction = np.zeros((2, 1), np.float32)
示例3: __init__
# 需要导入模块: import cv2 [as 别名]
# 或者: from cv2 import KalmanFilter [as 别名]
def __init__(self,
state_num=4,
measure_num=2,
cov_process=0.0001,
cov_measure=0.1):
"""Initialization"""
# Currently we only support scalar and point, so check user input first.
assert state_num == 4 or state_num == 2, "Only scalar and point supported, Check state_num please."
# Store the parameters.
self.state_num = state_num
self.measure_num = measure_num
# The filter itself.
self.filter = cv2.KalmanFilter(state_num, measure_num, 0)
# Store the state.
self.state = np.zeros((state_num, 1), dtype=np.float32)
# Store the measurement result.
self.measurement = np.array((measure_num, 1), np.float32)
# Store the prediction.
self.prediction = np.zeros((state_num, 1), np.float32)
# Kalman parameters setup for scalar.
if self.measure_num == 1:
self.filter.transitionMatrix = np.array([[1, 1],
[0, 1]], np.float32)
self.filter.measurementMatrix = np.array([[1, 1]], np.float32)
self.filter.processNoiseCov = np.array([[1, 0],
[0, 1]], np.float32) * cov_process
self.filter.measurementNoiseCov = np.array(
[[1]], np.float32) * cov_measure
# Kalman parameters setup for point.
if self.measure_num == 2:
self.filter.transitionMatrix = np.array([[1, 0, 1, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]], np.float32)
self.filter.measurementMatrix = np.array([[1, 0, 0, 0],
[0, 1, 0, 0]], np.float32)
self.filter.processNoiseCov = np.array([[1, 0, 0, 0],
[0, 1, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]], np.float32) * cov_process
self.filter.measurementNoiseCov = np.array([[1, 0],
[0, 1]], np.float32) * cov_measure