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()
相关推荐
哈哈不让取名字8 小时前
基于C++的爬虫框架
开发语言·c++·算法
幻云20108 小时前
Python深度学习:从筑基到登仙
前端·javascript·vue.js·人工智能·python
花间相见8 小时前
【JAVA开发】—— Nginx服务器
java·开发语言·nginx
扶苏-su8 小时前
Java---Properties 类
java·开发语言
仰望星空@脚踏实地8 小时前
本地Python脚本是否存在命令注入风险
python·datakit·命令注入
LOnghas12119 小时前
果园环境中道路与树木结构检测的YOLO11-Faster语义分割方法
python
一条咸鱼_SaltyFish10 小时前
远程鉴权中心设计:HTTP 与 gRPC 的技术决策与实践
开发语言·网络·网络协议·程序人生·http·开源软件·个人开发
我即将远走丶或许也能高飞10 小时前
vuex 和 pinia 的学习使用
开发语言·前端·javascript
沐知全栈开发10 小时前
SQL LEN() 函数详解
开发语言
钟离墨笺10 小时前
Go语言--2go基础-->基本数据类型
开发语言·前端·后端·golang