gpt4 book ai didi

c++ - cv::Mat 中 cv::Point 的 OpenCV rgb 值

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:58 27 4
gpt4 key购买 nike

我已经在 StackOverflow 上查看了不同的问题,但似乎都没有帮助。我想做的很简单:我有一个 cv::Point,我需要在 cv::Mat 中获取该点像素的 RGB 值这样我就可以将它与存储的 RGB 值进行比较。

现在这应该很容易了,但我已经尝试了 1001 种不同的方法,但它对我不起作用。

请有人帮助我摆脱痛苦!!

编辑:下面的两个答案都有效!我是 C++ 的新手,不知道通过 cout 输出 unsigned char 会产生问号!printf offcourse 给出了正确的值!!

最佳答案

这真的很简单。然而,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;

可能有更好的方法来处理 cv::Vec,但我忘记了。另见 OpenCV Cheat Sheet .

关于c++ - cv::Mat 中 cv::Point 的 OpenCV rgb 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4747920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com