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 分钟前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
chao_78915 分钟前
更灵活方便的初始化、清除方法——fixture【pytest】
服务器·自动化测试·python·pytest
心情好的小球藻1 小时前
Python应用进阶DAY9--类型注解Type Hinting
开发语言·python
都叫我大帅哥1 小时前
LangChain加载HTML内容全攻略:从入门到精通
python·langchain
惜.己1 小时前
使用python读取json数据,简单的处理成元组数组
开发语言·python·测试工具·json
Y4090011 小时前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
都叫我大帅哥2 小时前
Python的Optional:让你的代码优雅处理“空值”危机
python
曾几何时`4 小时前
基于python和neo4j构建知识图谱医药问答系统
python·知识图谱·neo4j
古月-一个C++方向的小白6 小时前
C++11之lambda表达式与包装器
开发语言·c++
写写闲篇儿7 小时前
Python+MongoDB高效开发组合
linux·python·mongodb