gpt4 book ai didi

c++ - 访问 openCV 单应矩阵中的元素

转载 作者:搜寻专家 更新时间:2023-10-31 01:45:03 24 4
gpt4 key购买 nike

我有一个 3x3 单应矩阵,我使用 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;
}
}
}

上面没有从单应矩阵返回正确的值。我搜索了文档、教程和谷歌,老实说,我看不出我做错了什么。

最佳答案

这应该有效(如果您确定图像的类型是 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 一起使用。

关于c++ - 访问 openCV 单应矩阵中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22636909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com