当我使用例如在Opencv 2.3中读取灰度图像时:
Mat src = imread("44.png" ,0);
如何访问它的像素值?
我知道它的RGB是否可以使用:
std::cout << src.at<cv::Vec3b>(i,j)[0].
提前致谢。
答案 0 :(得分:4)
由于灰度图像仅包含一个组件而不是3,因此生成的矩阵/图像的类型为CV_8UC1
而不是CV_8UC3
。而这又意味着,单个像素不是3个字节向量(cv::Vec3b
),而只是单个字节(unsigned char
或OpenCV的uchar
)。所以你可以使用:
src.at<unsigned char>(i, j)