📅  最后修改于: 2023-12-03 15:34:02.989000             🧑  作者: Mango
在图像处理中,图像的直方图是显示其像素值频率分布的图形。 OpenCV中的cv2.calcHist()函数是计算图像直方图的函数之一。它可以帮助我们了解图像中存在哪些颜色以及它们的数量。该方法需要的参数包括图像,通道和直方图的大小和范围。
以下是使用Python OpenCV的 cv2.calcHist()方法计算图像的直方图的步骤:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('your_image_path', 0)
hist = cv2.calcHist([img], [0], None, [256], [0, 256])
其中:
plt.hist(img.ravel(),256,[0,256])
plt.title('Histogram')
plt.show()
其中“ img.ravel()”是将图像数组转换为1D数组的方法。
以下是完整的示例:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('lena.jpg',0)
hist = cv2.calcHist([img],[0],None,[256],[0,256])
plt.hist(img.ravel(),256,[0,256])
plt.title('Histogram')
plt.show()
输出结果为: