仅考虑特定像素(而非完整图像)的OpenCV颜色直方图calcHist

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了仅考虑特定像素(而非完整图像)的OpenCV颜色直方图calcHist相关的知识,希望对你有一定的参考价值。

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

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

非常感谢提前!

答案

clalHist的第三个参数叫做Mask

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

以上是关于仅考虑特定像素(而非完整图像)的OpenCV颜色直方图calcHist的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV实战——直方图详解

OpenCV实战——直方图详解

OpenCV:改变像素的颜色

“颜色量化”是 OpenCV 中颜色量化的正确名称吗?

OpenCV实战——基于反向投影直方图检测图像内容

OpenCV实战——基于反向投影直方图检测图像内容