【问题标题】:OpenCV color histogram calcHist considering only specific pixels (and not full image)OpenCV 颜色直方图 calcHist 仅考虑特定像素(而不是完整图像)
【发布时间】:2018-08-10 17:01:50
【问题描述】:

我想计算图像的颜色直方图,但只考虑特定像素(我知道其 2D 坐标)。

是否可以使用 calcHist 指定只考虑这些具体像素(而不是整个 cv::Mat 和其中的所有像素)?如果没有,是否可以创建一个新的 Mat 只包括已知位置的那些特定像素,以及如何创建? (考虑到对于直方图,像素坐标无关紧要,是否可以将它们添加到 (1 x number_of_specific_pixels)-dim Mat 以保持 Mat 的原始类型?)

提前非常感谢!

【问题讨论】:

  • 您提出的解决方案似乎可行,为什么不尝试一下?

标签: c++ opencv colors histogram


【解决方案1】:

clalHist的第三个参数叫做Mask

因此,您创建了一个新的单通道 8 位 cv::Mat,它与您的输入图像具有相同的大小。它应该包含您想要计算直方图的255's 和您不想计算的0's。然后,将其传递为Mask

【讨论】:

  • 哇,真的,我只是假设掩码只能是预定义的固定形状内核,这太神奇了。非常感谢!
猜你喜欢
  • 2017-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 2018-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多