简体   繁体   中英

How can i change a pixel value from a grayscaled image using Opencv 2.3?

When i read a grayscaled image using for example in Opencv 2.3:

Mat src = imread("44.png" ,0);

How can i access the pixel value of it?

I know if its RGB i can use:

std::cout << src.at<cv::Vec3b>(i,j)[0].

Thanks in advance.

Since a grayscale image contains only one component instead of 3, the resulting matrix/image is of type CV_8UC1 instead of CV_8UC3 . And this in turn means, that individual pixels are not 3-vectors of bytes ( cv::Vec3b ) but just single bytes ( unsigned char or OpenCV's uchar ). So you can just use:

src.at<unsigned char>(i, j)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM