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()
相关推荐
molaifeng6 小时前
Go 语言如何实现高性能网络 I/O:Netpoller 模型揭秘
开发语言·网络·golang
崇山峻岭之间6 小时前
Matlab学习记录33
开发语言·学习·matlab
Evand J6 小时前
【2026课题推荐】DOA定位——MUSIC算法进行多传感器协同目标定位。附MATLAB例程运行结果
开发语言·算法·matlab
小二·6 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
jllllyuz6 小时前
基于MATLAB的二维波场模拟程序(含PML边界条件)
开发语言·matlab
忆锦紫6 小时前
图像增强算法:Gamma映射算法及MATLAB实现
开发语言·算法·matlab
七牛云行业应用7 小时前
重构实录:我删了 5 家大模型 SDK,只留了 OpenAI 标准库
python·系统架构·大模型·aigc·deepseek
知乎的哥廷根数学学派7 小时前
基于多模态特征融合和可解释性深度学习的工业压缩机异常分类与预测性维护智能诊断(Python)
网络·人工智能·pytorch·python·深度学习·机器学习·分类
亲爱的非洲野猪7 小时前
Java锁机制八股文
java·开发语言
LawrenceLan8 小时前
Flutter 零基础入门(十二):枚举(enum)与状态管理的第一步
开发语言·前端·flutter·dart