打印 CV_32F opencv 矩阵值

Posted

技术标签:

【中文标题】打印 CV_32F opencv 矩阵值【英文标题】:Printing CV_32F opencv matrix values 【发布时间】:2016-07-11 03:09:10 【问题描述】:

我想打印 1x3 向量的值 CV_32F 元素:

cv::Mat O = cv::Mat::ones(1, 3, CV_32F);
for(int i=0;i<O.cols;i++)
    std::cout<<O.at<float>(1,i)<<" ";
std::cout<<std::endl;
std::cout<<O<<std::endl;

但是上面的代码打印出来:

1.4013e-43 1.12104e-43 0 //WHAT?
[1, 1, 1]  //correct

为什么会这样?我已经阅读了this 的问题,但没有帮助。

【问题讨论】:

不熟悉openCV,但要试一试:应该是std::cout(0,i).....? ...ops...这很尴尬 发布它作为答案,我会选择它:) 【参考方案1】:

关闭,循环需要从0开始!

std::cout<<O.at<float>(0,i)<<" ";

【讨论】:

以上是关于打印 CV_32F opencv 矩阵值的主要内容,如果未能解决你的问题,请参考以下文章

如何访问 CV_32F/CV_64F Mat 的像素值?

访问opencv矩阵CV_32S元素

opencv 访问 CV_32FC3 BGR cv::Mat 的颜色元素

OpenCV Mat 在 push_back 时崩溃

OpenCV 断言失败:(-215:断言失败)npoints >= 0 &&(深度 == CV_32F || 深度 == CV_32S)

在 OpenCV 中分配矩阵元素