所以我想弄清楚这等价于什么:
boost::numeric::ublas::matrix<T>::array_type& matrix_data = prev_matrix.data();
但使用 OpenCV Mat 类?
我正在尝试使用 cv::Mat 来替换最初使用 boost 矩阵的现有代码库,这部分让我有些困惑。
我有以下内容:
cv::Mat& matrix_data(prev_matrix); <--prev_matrix is also a cv::Mat now
for (unsigned int i = 0; i < matrix_data.size(); ++i) <--- line that has an error
{
matrix_data[i] = value;
}
但我收到以下错误:
error: no match for ‘operator<’ in ‘i < cv::Mat::MSize::operator()() const()’
我正在努力思考这两个不同的对象,但出于某种原因,即使阅读文档也无法深入了解如何正确解决此问题。
最佳答案
使用 matrix_data.total()
代替 matrix_data.size()
。 size()
函数返回类型 Size
,而您似乎只是在寻找 total()
返回的元素总数。
关于c++ - OpenCV - OpenCV Mat 等效于 boost 矩阵 array_type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26185589/