我已经在互联网和stackoverflow上彻底搜索过,但是我没有找到答案:
如何在OpenCV中获取/设置(两者都是)给定x,y坐标的像素的RGB值?重要的是-我使用C++编写,图像存储在cv :: Mat变量中。我知道有一个IplImage()操作符,但是IplImage在使用中不是很方便-据我所知,它来自C API。
是的,我知道已经有这个Pixel access in OpenCV 2.2线程了,但它只涉及黑白位图。
编辑:
非常感谢您们的回答。我看到有很多方法可以获取/设置像素的RGB值。我从我的密友那里得到了另一个想法-感谢Benny! 它非常简单而且有效。我认为选择哪个方法只是个人口味问题。
Mat image;
抱歉,我的中文能力目前还没有达到熟练水平。Point3_<uchar>* p = image.ptr<Point3_<uchar> >(y,x);
然后您可以使用以下方式读取/写入RGB值:
p->x //B
p->y //G
p->z //R
(y,x)
吗? - AHF