Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ openCV中的Kalman滤波器跟踪-程序接收信号SIGSEGV_C++_Opencv_Segmentation Fault - Fatal编程技术网

C++ openCV中的Kalman滤波器跟踪-程序接收信号SIGSEGV

C++ openCV中的Kalman滤波器跟踪-程序接收信号SIGSEGV,c++,opencv,segmentation-fault,C++,Opencv,Segmentation Fault,我想测试KalmanFilter进行跟踪,并找到了几个总体上看起来非常相似的教程(因为它主要是初始化openCVs KalmanFilter和设置参数) 我追求的是这一实现: 我现在测试它有困难,因为每当我启动程序,它就会崩溃。没有生成错误,但当我开始调试时,它会显示一条短消息“程序接收信号SIGSEGV-分段错误。 调用堆栈显示第574行中的mat.hpp存在问题: int i = i0/cols, j = i0 - i*cols; 第1043行: template<typename

我想测试KalmanFilter进行跟踪,并找到了几个总体上看起来非常相似的教程(因为它主要是初始化openCVs KalmanFilter和设置参数)

我追求的是这一实现:

我现在测试它有困难,因为每当我启动程序,它就会崩溃。没有生成错误,但当我开始调试时,它会显示一条短消息“程序接收信号SIGSEGV-分段错误。

调用堆栈显示第574行中的mat.hpp存在问题:

int i = i0/cols, j = i0 - i*cols;
第1043行:

template<typename _Tp> inline _Tp& Mat_<_Tp>::operator ()(int i0)
{
     return this->at<_Tp>(i0);
}

你知道是什么导致了这里的问题和/或如何解决吗?我以前试过一些方法,但到目前为止还没有找到原因。 非常感谢您的帮助。

我打赌您一定想要:

Mat_<float> measurement(2, 1);  // alloc 2 rows, 1 col
measurement.setTo(Scalar(0));
Mat_uuu测量(2,1);//分配2行,1列
测量。设置为(标量(0));
不是:

Mat_uu测量;//一个*空*的Mat。
度量(2,1);//在*空*垫上的访问无效(也将超出范围)

这可能是原因。我在一个单独的类中获得了它,并在头文件中创建了度量值。在这里,我无法放置Mat_uu度量值(2,1)这就是为什么我认为在初始化类的构造函数时可以创建Mat并分配行/列。在发布的示例中,他也这样做了,所以我认为这是可能的。如何在单独的类/头中做到最好?我想可以使用measurement=Mat(4,1,CV_32F)来实现然后?^^至少现在它不再崩溃了。是的,现在似乎可以工作了。谢谢你的回答,我不再考虑这个问题了。是的,我只是想说。使用构造函数。
Mat_<float> measurement;
measurement(2, 1);
measurement.setTo(Scalar(0));
Mat_<float> measurement(2, 1);  // alloc 2 rows, 1 col
measurement.setTo(Scalar(0));
Mat_<float> measurement; // an *empty* Mat.
measurement(2, 1);       // invalid access on an *empty* Mat (would be out of bounds, too)