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