【问题标题】:How to print out a pixel value in a Mat image如何在 Mat 图像中打印出像素值
【发布时间】:2016-03-29 10:13:16
【问题描述】:

我有一个关于如何计算图像中的像素值的问题。

例如:我有一张图片,尺寸是 10*10,我想计算图片中第 5 行第 5 列的像素值,这是我的代码。

Mat img;
cout << img.at<uchar>(5,5) << endl;

但结果如下图

我想知道为什么它会打印出如此奇怪的符号?

谁能帮帮我?非常感谢!!!!

【问题讨论】:

  • 如果您的图像有 3 个通道,您需要 cv::Vec3b 而不是 uchar
  • cout &lt;&lt; int(img.at&lt;uchar&gt;(5,5)) &lt;&lt; endl;

标签: c++ opencv pixel mat


【解决方案1】:

您正在打印 char 值。因此,该值将转换为该值的 ANSI 表示。如果要查看数字,请转换结果:

static_cast<int>(img.at<uchar>(5,5))

【讨论】:

  • 很高兴找到 J. Marek,但您的第一个解决方案是错误的,它会将像素与其他像素混合。
猜你喜欢
  • 1970-01-01
  • 2021-02-18
  • 1970-01-01
  • 2015-11-22
  • 2014-03-25
  • 1970-01-01
  • 2011-12-15
  • 2015-09-08
相关资源
最近更新 更多