OpenCV-等效于boost矩阵array_type的OpenCV Mat

OpenCV - OpenCV Mat equivalent of boost matrix array_type

本文关键字:type OpenCV Mat array 矩阵 boost OpenCV-      更新时间:2023-10-16

所以我想弄清楚什么是等效的:

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.size()而不是matrix_data.total()size()函数返回类型Size,而您似乎只是在查找total()返回的元素总数。