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()
相关推荐
仙女修炼史11 小时前
gradcam在yolo中的应用
人工智能·python·yolo
离陌在学C#11 小时前
C# 异步编程:从 async/await 到 Task 实战指南
开发语言·数据库·c#
羚尔11 小时前
C语言数组
c语言·开发语言
李可以量化12 小时前
Redis Client 从了解到精通(六):redis-py 服务控制与状态监控辅助函数详解
python
女神下凡12 小时前
芯参谋(11): 各种存储芯片电路设计
开发语言·嵌入式硬件
李可以量化12 小时前
Redis Client 从了解到精通(六)下:redis-py 时间、库管理与持久化辅助函数详解
python
晓窗科技12 小时前
AI基座哪家好
大数据·人工智能·python
冬夜戏雪12 小时前
笔试的Scanner in Scanner out
java·开发语言
麻雀飞吧12 小时前
学量化:看到“近期工具推荐”时,先问工具要解决什么问题
人工智能·python
Zane19941212 小时前
HashSet、TreeSet、LinkedHashSet:底层都是“套壳“
java·开发语言