cv ::中的cv :: Point的OpenCV rgb值

use*_*753 4 c++ opencv

我已经在StackOverflow上看到了不同的问题,但似乎没有任何帮助.我想要做的很简单:我有一个cv::Point,我需要获得该点的像素的RGB值,cv::Mat以便我可以将它与存储的RGB值进行比较.

现在这应该很容易,但我尝试了1001种不同的方式,它对我来说不起作用.

有人请帮助我摆脱痛苦!

编辑:以下两个答案都有效!我使用C还挺新++,不知道输出unsigned char通过cout给出一个问号! printfoffcourse给予正确的价值!

ypn*_*nos 9

这真的很容易.然而,OpenCV的文档擅长隐藏简单的答案.

这是示例代码:

cv::Mat3b image = imread(filename);
cv::Point point(23, 42);
cv::Vec3b template;
template[0] = 128; template[1] = 12; template[2] = 64;

const cv::Vec3b& bgr = image(point);
if (bgr[0] == template[0] && bgr[1] == template[1] && bgr[2] == template[2])
   std::cout << "Colors match!" << std::endl;
Run Code Online (Sandbox Code Playgroud)

有可能更好的方法来处理cv :: Vec,但我忘记了.另请参见OpenCV备忘单.