缺少opencv 2的文档有点难以使用。我正在尝试使用卡尔曼滤波器来跟踪移动的物体。我在这里查看了一个示例,但它使用的是2.x之前的版本:
https://projects.developer.nokia.com/opencv/browser/opencv/opencv-2.3.1/samples/python/kalman.py
我知道opencv 2的python绑定使用了numpy矩阵。这如何从旧的实现转化?例如,在链接中,以这种方式创建矩阵:
state = cv.CreateMat(2, 1, cv.CV_32FC1)
但是在numpy中,这似乎不正确:
state = numpy.zeros(shape=(2,1))
有些例子可以通过将它从numpy转换来创建cv Matrix,但我希望只使用cv2提供的函数。
另外,我在opencv 2中找不到相应的一些函数:
cv.RandArr(...)
cv2中是否存在RandArr
的等效函数?我不太明白它是如何工作的,所以自己实施它需要一些时间。
答案 0 :(得分:1)
我也面临同样的问题。我无法正确使用cv2.Kalman()
。但由于cv2和cv非常兼容,我使用cv.CreateKalman()
来解决问题。我认为这可能有用。 http://jayrambhia.wordpress.com/2012/07/26/kalman-filter/