python图像处理之直方图绘制

更新时间:2023-07-20 19:36:40 阅读: 评论:0

python图像处理之直⽅图绘制
上⼀次我们介绍了通过python将图像进⾏灰度化,这⼀次我们来介绍如何通过python进⾏图像直⽅图的绘制,这⼀次我们要借助于python中的matplotlib库。
预备知识
何为直⽅图
图像直⽅图是对图像像素分布情况的图形表⽰,⽐如我们可以统计像素为0的点有多少个,像素为1的点有多少个…然后将统计情况⽤图形表⽰出来即为直⽅图,当然我们也可以根据需要统计区间内的分布情况,⽐如像素在0到100内的像素点的个数等等。
matplotlib
matplotlib库是python第三⽅库,可以完成绘制各种图形以及数据可视化的任务。在绘制直⽅图时,我们使⽤pyplot⼦模块中的hist函数。下⾯我们先简要介绍该函数的使⽤,这样在下⾯就可以直接使⽤了。
plt.hist(a,num_bins)
a:数据列表
num_bins:要分成的组数
简⽽⾔之,对于图⽚⽽⾔,第⼀个参数就是所有像素点的取值情况,第⼆个参数就是我们打算把这些像素值分为⼏组,这个函数也可⽤于⼀般的直⽅图绘制,注意第⼀个参数应该为numpy数组类型。
开始绘制
⼀般⽽⾔我们都是对于灰度图进⾏直⽅图的绘制,因此我们先要进⾏灰度化操作,还需要注意的是不能直接将⼀张图⽚读取后直接作
为hist函数的第⼀个参数,要先将其转化为⼀个⼀维的数组。
中途岛级>东四民芳下⾯我们来看代码。
⾸先导⼊需要的库:
import numpy as np
复方红豆杉import cv2 as cv
import matplotlib.pyplot as plt
随后读⼊图⽚并进⾏灰度化操作,这⾥⽅便起见我们直接调⽤opencv⾃带的函数。
path_1 = 'work2data/guazi.bmp'
img_1 = cv.imread(path_1)
img_1_gray = cv.cvtColor(img_1, cv.COLOR_RGB2GRAY)服务公约>春天的故事歌曲
深的海接下来我们定义直⽅图绘制的函数
def histogram(img):
img = shape(-1)  #将图像展开成⼀个⼀维的numpy数组
plt.hist(img, 128)  #将数据分为128组
周易如何算卦
plt.show()
我们通过语句调⽤这个函数就可以完成直⽅图绘制,效果如下图所⽰。
图像直⽅图的绘制还可以通过numpy和opencv中的函数来完成,可以看这篇blog:本次分享就到这⾥,感谢阅读!
藏北草原

本文发布于:2023-07-20 19:36:40,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1089525.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:绘制   情况   像素   图形   函数   数据   需要
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图