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()
相关推荐
女王大人万岁6 分钟前
Go语言JSON标准库(encoding/json):功能解析与实战指南
服务器·开发语言·后端·golang·json
wjs20248 分钟前
Scala 基础语法
开发语言
.ZGR.9 分钟前
从游戏到实战的线程进阶之旅:智能无人机防空平台
java·开发语言·无人机
上海合宙LuatOS10 分钟前
LuatOS ——fota 升级教程
开发语言·人工智能·单片机·嵌入式硬件·物联网·php·硬件工程
NWU_白杨11 分钟前
智能无人机平台V4
java·开发语言·无人机
小高Baby@12 分钟前
Go语言中面向对象的三大特性之继承的理解
开发语言·后端·golang
小高Baby@12 分钟前
Go语言中面向对象的三大特性之封装的理解
开发语言·后端·golang
木卫二号Coding17 分钟前
第七十七篇-V100+llama-cpp-python-server+Qwen3-30B+GGUF
开发语言·python·llama
半夏知半秋18 分钟前
lua5.5版本新特性学习
开发语言·笔记·学习
木卫二号Coding18 分钟前
第七十六篇-V100+llama-cpp-python+Qwen3-30B+GGUF
开发语言·python·llama