如何在OpenCV Python中计算和绘制图像的二维直方图?
我们可以应用 cv2.calcHist() 函数来计算图像的二维直方图。彩色图像有三个通道- 红、绿和蓝。我们可以同时为两个颜色通道计算二维直方图。因此,我们有三种颜色通道的两两组合- 红色和绿色(或绿色和红色)、绿色和蓝色(或蓝色和绿色)以及蓝色和红色(或红色和蓝色)。
步骤
要计算和绘制输入图像的二维直方图,可以按照以下步骤进行:
- 导入所需的库 OpenCV 和 matplotlib 。确保您已经安装了它们。
-
使用 cv2.imread() 方法读取输入图像。指定图像的完整路径。
-
使用 cv2.split() 函数将输入图像拆分为相应的通道 蓝色、绿色和红色。
- 为两个颜色通道同时计算二维彩色直方图。为三个颜色通道的所有三种组合计算二维直方图。例如,要为绿色和蓝色通道计算2D直方图,应用以下代码片段。
- 绘制上述计算的二维直方图。
让我们通过一些示例来更清晰地了解这个问题。
我们在下面的示例中使用以下图像作为 输入文件 。
示例
在此 Python 程序中,我们针对输入图像的三个颜色组合(蓝色和绿色、绿色和红色以及红色和蓝色)计算并绘制二维直方图。
运行上述程序后,将输出以下窗口,显示输入图像的2D直方图。