OpenCV Python 怎样计算并绘制图像区域的直方图?
在OpenCV中,我们使用cv2.calcHist()函数计算图像直方图。我们也可以使用该函数来计算图像区域的直方图。首先,我们需要定义一个掩码来计算图像区域的直方图。掩码中的白色用于原始输入图像中要检查的区域,掩码图像中的黑色则用于要忽略的区域。现在,我们将该掩码作为函数的参数来计算直方图。
步骤
要计算并绘制图像区域的直方图,可以按照以下步骤进行 ŌłÆ
- 导入所需的库:OpenCV、NumPy和matplotlib。请确保已经安装了它们。
-
使用cv2.imread()方法读取输入图像。指定图像的完整路径。
-
为图像定义掩码。掩码图像中的黑色是要忽略的区域,白色是原始输入图像中要检查的区域。
-
使用cv2.split()函数拆分输入图像的不同通道(蓝色、绿色和红色)。
-
使用上述定义的掩码计算输入图像的不同通道的直方图。绘制输入图像的不同颜色的直方图。
- 要可视化输入图像的掩码区域,请对输入图像和掩码图像进行cv2.bitwise_and()操作。它将创建输入图像的掩码区域。
让我们看一些例子,以便更好地理解问题。
输入
下面的图像将作为我们的输入文件。
示例
在此示例中,我们计算输入图像的矩形区域的直方图并绘制直方图。
输出
当您运行上面的Python程序时,它会产生以下输出窗口。
上面的输出图像显示了输入图像中矩形区域的直方图。
上面的两个输出图像是输入图像的遮罩和矩形区域。仅为这个遮罩区域计算直方图。