我已经彻底搜索了互联网和stackoverflow,但是没有找到我的问题的答案:
如何在OpenCV中获取/设置(由x,y坐标给出)特定像素的RGB值?重要的是-我用C ++编写,图像存储在cv :: Mat变量中。我知道有一个IplImage()运算符,但据我所知IplImage来自C API,使用起来不太舒服。
是的,我知道OpenCV 2.2线程中已经有了Pixel访问权限,但是它只涉及黑白位图。
编辑:
非常感谢您的所有回答。我看到有很多方法可以获取/设置像素的RGB值。我的密友又给我带来了一个好主意-感谢本尼!这非常简单有效。我认为这是您选择哪种口味的问题。
Mat image;
(...)
Point3_<uchar>* p = image.ptr<Point3_<uchar> >(y,x);
然后,您可以使用以下命令读取/写入RGB值:
p->x //B
p->y //G
p->z //R