openCV中的卡尔曼滤波器跟踪-程序接收信号SIGSEGV
KalmanFilter Tracking in openCV - Program received signal SIGSEGV
我想测试KalmanFilter以进行跟踪,并找到了几个教程,它们总体上看起来非常相似(因为它主要是初始化openCV KalmanFilter和设置参数)。
我追求这个实现:https://github.com/screename/Kalman-Filter-Tracker/blob/master/KalmanFilterTracker.ccp
我现在测试它有困难,因为每当我启动程序时,它都会崩溃。没有构建错误,但当我开始调试时,它显示了一条短消息"程序接收信号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);
}
在KalmanFilter类中,这些行似乎很麻烦:
measurement(0) = x;
measurement(1) = y;
带有
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)
相关文章:
- C++ - 程序接收信号SIGSEGV,分段错误.In msvcrt!memcpy () (C:\Windows\S
- sqlite3 程序接收信号 SIGSEGV,分段错误在 sqlite3_get_table ()
- 程序接收了信号sigsegv,在代码块中调试时的细分故障
- 程序接收信号SIGSEGV,分段错误。使用矢量<string>时
- 程序接收信号SIGSEGV,分段错误.C++列表
- SIGSEGV 使用 ARCore 和原生 android 应用程序
- 程序收到信号sigsegv,分段故障.在al_draw_tinted_bitmap中(bitmap = 0x0,tint
- c++分段错误:为什么这个程序给出运行时错误(SIGSEGV)
- 程序在调用类指针时收到信号SIGSEGV,分段错误
- 我支持的程序使用 SIGSEGV 崩溃,但我无法从.dmp文件中崩溃
- 返回0后,程序会收到sigsegv错误
- SIGSEGV 信号处理程序不是从辅助线程 c++ 窗口调用的
- SIGSEGV在我的OpenCL程序中
- 当Windows应用程序中发生SIGSEGV时,我可以获得堆栈跟踪吗
- 程序接收信号SIGSEGV,输出分段故障
- 在多线程程序中捕获SIGSEGV和SIGFPE等信号
- SIGSEGV我的程序出现故障
- 难以跟踪大型程序中的SIGSEGV分段故障
- 子和父C程序中的SIGSEGV处理
- SDL2程序SIGSEGV启动