如何找到图像特定部分的RGB值?

时间:2014-02-22 23:35:21

标签: opencv image-processing

所以我说使用haarcascade找到方形的坐标和链接图像中字母的坐标。如何仅使用OpenCV找到正方形的rgb值?如果这是一个非常基本的问题,我很抱歉,但我想知道如何做到这一点。

Here's an example of the image

请注意,当我实际使用此程序时,草实际上会占用大部分图像。

提前感谢!!

1 个答案:

答案 0 :(得分:0)

要访问CV_8UC3中的像素(即具有unsigned char数据类型的3通道图像),您可以编写:

const Vec3u& pixel = image.at<Vec3u>(row, col);

如你所说,你有盒子和字母的坐标,你只需要把它们放在这里。

更新:如果区域不是单一颜色而您需要获得平均值,则可以采用以下方式:

  1. 使用m1创建一个覆盖字母所有像素的模板cv::fillPoly
  2. cv::mean与图片和面具m1一起使用,以获得字母的平均颜色。
  3. 再次使用m2创建一个覆盖所有盒子像素的模板cv::fillPoly
  4. 由于此掩码也包含字母的像素,因此您必须从m1“移除”m2。使用cv::setTo
  5. 执行此操作
  6. 再次使用cv::mean图片和面具m2来获取包装盒的平均颜色。