如何绘制出图像的色素分布直方图

效果

如图,可以展示出我们的图像的颜色分布直方图,表明的图像的亮和暗

实现可视化色素分布直方图方法

这里我们对我们的灰色图片和彩色图片进行了直方图显示

python 复制代码
import cv2
import matplotlib.pyplot as plt
image = cv2.imread("test.jpg")
# 彩色图片->灰色图片
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# cv2.calcHist([图像], [通道数(灰度图是0)], mask(掩码图像,为none即可), histSize(bines数量), [ranges(像素范围)])
# histSize(bines数量) 表示的是横坐标尺寸
hist1 = cv2.calcHist([gray], [0], None, [256], [0, 256])
hist2 = cv2.calcHist([image], [2], None, [256], [0, 256])
plt.plot(hist1, color='b')
plt.plot(hist2, color='r')
plt.show()

注意:记得下载

复制代码
matplotlib包

上面代码里面的color='b'表示我们的直方图是蓝色的,这里可以用b代表blue

python 复制代码
plt.plot(hist1, color='b', label='hist1')

运行结果

会出现这样一个程序

显示的直方图

扩展:给我们的直方图加上名字!

python 复制代码
import cv2
import matplotlib.pyplot as plt
image = cv2.imread("test.jpg")
# 彩色图片->灰色图片
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# cv2.calcHist([图像], [通道数(灰度图是0)], mask(掩码图像,为none即可), histSize(bines数量), [ranges(像素范围)])
# histSize(bines数量) 表示的是横坐标尺寸
hist1 = cv2.calcHist([gray], [0], None, [256], [0, 256])
hist2 = cv2.calcHist([image], [2], None, [256], [0, 256])
plt.plot(hist1, color='b',label='hist1')
plt.plot(hist2, color='r',label='hist2')
plt.legend()
plt.show()

加入了

复制代码
plt.legend()
复制代码
plt.plot里面加入了laber属性

效果:

相关推荐
linzeyang9 分钟前
Advent of Code 2025 挑战全手写代码 Day 1 - 秘密入口
python·github
阿郎_201122 分钟前
python自动化脚本-下载小说
python·selenium·网络爬虫
ERP老兵-冷溪虎山23 分钟前
Python/JS/Go/Java同步学习(第五十篇半)四语言“path路径详解“对照表: 看完这篇定位文件就通透了(附源码/截图/参数表/避坑指南)
java·javascript·python·golang·中医编程·编程四语言同步学·path路径详解
Data_agent30 分钟前
1688获得1688公司档案信息API,python请求示例
开发语言·数据库·python
vx_vxbs662 小时前
【SSM高校普法系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
android·java·python·mysql·小程序·php·idea
田里的水稻2 小时前
Python_编程中代码注释相关格式 PEP8 — Python 官方代码风格指南
开发语言·python
丹宇码农3 小时前
consul集群搭建
python·consul
努力的小帅3 小时前
Python_OpenCV入门到精通——入门篇(看这一篇就足够了!!!)
图像处理·python·opencv·计算机视觉·视觉检测·视觉项目
洗紫3 小时前
Python常用内置模块教程:os/sys/datetime/random/json全解析
python
z***89713 小时前
Flask框架中SQLAlchemy的使用方法
后端·python·flask