Python使用matplotlib计算并绘制图像的直方图

除了使用OpenCV计算图像直方图外,matplotlib也提供了直方图计算并绘制功能,只需要把图像(或对应通道)作为参数输入,即可通过matplotlib输出直方图(标准直方图,非条形图表达),特记录下来,示例代码如下:

python 复制代码
import cv2
import matplotlib.pyplot as plt

# 读取图像
image_path = '../data/park.jpg'
image = cv2.imread(image_path)  # 读取彩色图像

# 分离图像通道
b, g, r = cv2.split(image)

# 绘制直方图
plt.figure(figsize=(10, 6))

# 使用matplotlib的hist函数计算并绘制直方图
plt.hist(b.ravel(), bins=256, range=[0, 256], color='blue', alpha=0.7)
plt.hist(g.ravel(), bins=256, range=[0, 256], color='green', alpha=0.7)
plt.hist(r.ravel(), bins=256, range=[0, 256], color='red', alpha=0.7)

# 设置标题和轴标签
plt.title('Histogram of the Image')
plt.xlabel('Intensity Value')
plt.ylabel('Frequency')

# 显示网格
plt.grid(axis='y', linestyle='--', alpha=0.7)

# 显示图表
plt.show()
相关推荐
DARLING Zero two♡6 分钟前
C++底层学习预备:模板初阶
开发语言·c++·模板
Rorsion11 分钟前
PyTorch快速入门
人工智能·pytorch·python
代数狂人20 分钟前
Java泛型深度解析(JDK23)
java·开发语言
遗憾皆是温柔21 分钟前
JavaFX - 3D 形状
java·开发语言·ide·学习·3d
努力努力不秃头!25 分钟前
【论文公式】MathType打大写手写字母
人工智能·pytorch·python·深度学习·神经网络·jupyter·github
Damon小智2 小时前
使用Pygame制作“Flappy Bird”游戏
python·游戏·游戏程序·pygame
美味小鱼2 小时前
Rust场景示例:为什么要使用切片类型
开发语言·rust
西猫雷婶3 小时前
python学opencv|读取图像(五十四)使用cv2.blur()函数实现图像像素均值处理
python·opencv·均值算法
LUCIAZZZ3 小时前
手写单例模式
java·开发语言·spring boot·单例模式
程序员东min4 小时前
C++:抽象类习题
开发语言·c++