我正在使用OpenCV 3.0 beta,我想使用卡尔曼滤波器,但我在Java OpenCV中找不到任何卡尔曼滤波器实现的例子。我已经尝试过C ++和Python中的示例代码,但我无法将此代码完全转换为Java。
答案 0 :(得分:3)
将OpenCV C ++ / Python卡尔曼滤波器示例移植到Java时可能会错过的是如何设置转换/控制或测量矩阵。不幸的是,用于卡尔曼滤波器的Opencv java doc(1)并没有提到这些方法。希望这个代码示例(2)来自github帮助。您可能需要OpenCV 3.0。
KalmanFilter kalman = new KalmanFilter(4, 2, 0, CvType.CV_32F);
Mat transitionMatrix = new Mat(4, 4, CvType.CV_32F, new Scalar(0));
float[] tM = { 1, 0, 1, 0,
0, 1, 0, 1,
0, 0, 1, 0,
0, 0, 0, 1 } ;
transitionMatrix.put(0,0,tM);
kalman.set_transitionMatrix(transitionMatrix);
答案 1 :(得分:0)