python拖拽显示直方图

该篇博客介绍了如何使用Python3.8通过PIL和matplotlib库来读取图片并绘制RGB三个通道的直方图。首先安装了必要的依赖,然后通过PIL库打开图片,将R、G、B通道分离,接着利用matplotlib的hist函数统计每个通道的像素分布,并以堆叠直方图的形式展示出来。
摘要由CSDN通过智能技术生成

https://blog.csdn.net/lanlanmingyue/article/details/102745376
python3.8

安装依赖

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple matplotlib

zft.py

# -*- coding: utf-8 -*-

import sys

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

src = Image.open(sys.argv[1])
r,g,b = src.split() #分离R\G\B

plt.figure("flowerHist")
#要对图像求直方图,就需要先把图像矩阵进行flatten操作,使之变为一维数组,然后再进行统计
#分别提取R\G\B统计值,叠加绘图
ar = np.array(r).flatten() 
plt.hist(ar,bins = 256, density = 1, facecolor = 'red', edgecolor = 'red',stacked=True)

ag = np.array(g).flatten()
plt.hist(ag,bins = 256, density = 1, facecolor = 'green', edgecolor = 'green',stacked=True)

ab = np.array(b).flatten()
plt.hist(ab,bins = 256, density = 1, facecolor = 'blue', edgecolor = 'blue', stacked=True)

plt.show()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值