我在C ++中使用OpenCV来计算光流。为此,我需要为每个像素存储一个对象列表。这些清单的大小各不相同。
我的想法是将列表存储在Mat
中,如此:
// frame is the input image. SimilarPixel is some custom struct.
cv::Mat_<std::list<SimilarPixel>> result(frame.rows, frame.cols);
到目前为止它已经运行了。但是,当我尝试使用Mat
在result.at<std::list<SimilarPixel>>(y, x)
中获取或设置项目时,出现以下错误:
Visual Studio然后指向列表标准标题中的以下行(return语句):
iterator begin() _NOEXCEPT
{ // return iterator for beginning of mutable sequence
return (iterator(this->_Nextnode(this->_Myhead()),
&this->_Get_data()));
}
我只是一个C ++的初学者(确实有很多C#经验),所以我可能会犯某种新手错误。我不知道是否有可能以任何方式在OpenCV中创建任何类型的Mat
,更不用说Mat
的{{1}} s了。有什么办法可以解决这个问题吗?请告诉我是否应提供更多代码。