gpt4 book ai didi

c++ - 打开CV : Acces pixels of grayscale image

转载 作者:行者123 更新时间:2023-11-28 00:21:02 24 4
gpt4 key购买 nike

我知道这个问题可以问专家,但我想在 openCV 中访问灰度图像的像素。我正在使用以下代码:

cv::Mat img1 = cv::imread("bauckhage.jpg", CV_LOAD_IMAGE_GRAYSCALE);

现在,如果我想使用 img1.at<float>(255,255) 打印任何像素(比如位置 255,255)我得到 0 , 这实际上不是黑色像素。我认为图像已被读取为 2d 矩阵。

实际上我想对每个像素做一些计算,为此我需要显式访问每个像素。

如有任何帮助或建议,我们将不胜感激。

最佳答案

你必须这样做

   int x = (int)(img.at<uchar>(j,i))

这是因为图像的存储方式和 img.at 的工作方式。灰度图像以 CV_8UC1 格式存储,因此它基本上是一个 uchar 类型的数组。所以返回值是一个 uchar,您可以将其类型转换为 int 以将其作为整数进行操作。

此外,这与您的问题类似: accessing pixel value of gray scale image in OpenCV

关于c++ - 打开CV : Acces pixels of grayscale image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27473735/

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