доступ к элементу в матрице гомографии openCV

У меня есть матрица гомографии 3×3, которую я вычислил с помощью функции findHomography ().
Я храню его в матрице cv :: Mat.

Я пытаюсь сделать доступ к элементу, используя следующий код

float cvHomography::accessElements(const cv::Mat& aCvMat)
{
//cout << aCvMat << endl;

const float* Mi;
for( int i = 0; i < aCvMat.rows; i++){
Mi = aCvMat.ptr<float>(i);
for( int j = 0; j < aCvMat.cols; j++){
cout << Mi[j] << endl;
}
}
}

Вышеприведенное не возвращает правильное значение из матрицы гомографии.
Я искал документацию, учебники и Google, и я честно не вижу, что я делаю неправильно.

2

Решение

Это должно работать (если вы уверены, что тип изображения — CV_64F):

void cvHomography::accessElements(const cv::Mat& aCvMat)
{
// assert aCvMat.type() == CV_64F
for( int i = 0; i < aCvMat.rows; i++){
for( int j = 0; j < aCvMat.cols; j++){
cout << aCvMat.at<double>(i,j) << endl;
}
}
}

Также перегружен оператор << для std :: ostream работает с cv :: Mat, если вы хотите просто отображать элементы изображения.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]