图像统计直方图绘制教程:Python OpenCV实战
图像统计直方图绘制教程:Python OpenCV实战
本文将指导你使用Python和OpenCV绘制图像的统计直方图。直方图是图像处理中一种重要的分析工具,它可以帮助我们理解图像的亮度分布。
步骤详解:
-
读取图像: 使用OpenCV库读取需要分析的图像。
import cv2 img = cv2.imread('image.jpg') -
转换为灰度图像: 将彩色图像转换为灰度图像,方便直方图计算。
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) -
计算直方图: 使用OpenCV的
calcHist函数计算灰度图像的直方图。该函数返回一个数组,包含每个灰度级别的像素数量。hist = cv2.calcHist([gray], [0], None, [256], [0, 256]) -
绘制直方图: 使用Matplotlib库绘制直方图,可以使用条形图或线条图。横轴表示灰度级别,纵轴表示像素数量。
import matplotlib.pyplot as plt plt.plot(hist, color='gray') plt.xlabel('灰度级别') plt.ylabel('像素数量') plt.show() -
显示直方图: 将绘制好的直方图显示出来,可以保存为图像文件或直接在屏幕上显示。
完整代码示例:
import cv2
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算直方图
hist = cv2.calcHist([gray], [0], None, [256], [0, 256])
# 绘制直方图
plt.plot(hist, color='gray')
plt.xlabel('灰度级别')
plt.ylabel('像素数量')
plt.title('图像直方图')
plt.show()
通过以上步骤,你可以轻松地使用Python和OpenCV绘制图像的统计直方图。这将帮助你更好地理解图像的亮度分布和其他特征。
原文地址: https://www.cveoy.top/t/topic/jtg7 著作权归作者所有。请勿转载和采集!