簡體   English   中英

C++ OpenCV卡爾曼濾波器構造函數錯誤

[英]C++ OpenCV Kalman filter constructor error

我已經在以前的 C++ 項目中實現了 OpenCV 的卡爾曼濾波器,現在我正在嘗試在類的上下文中使用它。

這就是我通常構建卡爾曼濾波器的方式:

cv::KalmanFilter KF(4,2,0);

我現在試圖將過濾器作為類的成員,但在初始化它時遇到了麻煩。

我試過了:

1)

class foo
{
public:
...
private:
  cv::KalmanFilter m_filter(4,2,0);
};

我收到以下錯誤:

error: expected identifier before numeric constant cv::KalmanFilter m_filter(4,2,0); ^ foo.hpp:31:39: error: expected ',' or '...' before numeric constant

2)

如果我嘗試刪除那里的初始化並在類構造函數中執行以下操作:

.hpp

...
private:
  cv::KalmanFilter m_filter;

.cpp

constructor(...)
{
  m_filter(4,2,0);
}

我得到:

error: no match for call to '(cv::KalmanFilter) (int, int, int)' m_filter(4,2,0); ^

在擺弄 cv::KalmanFilter 的構造函數之后,代碼最終使用以下私有聲明進行編譯:

...
private:
        cv::KalmanFilter m_filter{cv::KalmanFilter(4,2,0)};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM