opencv2 kalmanfilter 卡尔曼滤波器,物体追踪源码,c++

本文提供了一段C++代码,演示如何利用OpenCV库中的KalmanFilter进行物体追踪。通过创建和更新卡尔曼滤波器,预测并校正目标位置,展示在图像上。用户可以通过鼠标移动来模拟物体移动,程序实时显示卡尔曼滤波器的预测结果。
摘要由CSDN通过智能技术生成
</pre><pre code_snippet_id="232658" snippet_file_name="blog_20140313_1_3668889" name="code" class="cpp">#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/video/video.hpp>
#include <iostream>


using namespace cv;
using namespace std;
Mat img(1000, 1000, CV_8UC3);
Point Pt,Pt_pre; 
Mat state(4, 1, CV_32F);


static void onMouse(int event, int x, int y, int, void*)
{
	if (event == CV_EVENT_MOUSEMOVE)
	{
		Pt_pre = Pt;
		Pt = Point(x, y);


	}
}
int main()
{
	Mat measurement = Mat::zeros(2, 1, CV_32F);
	Mat measurement2 = Mat::zeros(2, 1, CV_32F);
	randn(state, Scalar::all(0), Scalar::all(0.1));
	Point kp(0,0);
	state.setTo(0);
	KalmanFilter kf(4,2);
	KalmanFilter kf2(4,2);
	kf.transitionMatrix = *(Mat_<float>(4, 4) << 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值