Python matplotlib绘制灰度和彩色直方图
一、matplotlib.pyplot简介
1、matplotlib
matplotlib 是 python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
matplotlib 可以用来绘制各种静态,动态,交互式的图表。
matplotlib 是一个非常强大的 python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3d 图形、甚至是图形动画等等。
2、pyplot
pyplot 是 matplotlib 的子库,提供了和 matlab 类似的绘图 api。
pyplot 是常用的绘图模块,能很方便让用户绘制 2d 图表。
pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。
使用的时候,我们可以使用 import 导入 pyplot 库,并设置一个别名 plt:
import matplotlib.pyplot as plt
然后我们就可以使用它来绘制图形了
二、灰度直方图
1、主要函数
主要用到两个函数
(1) calchist()
(2) hist()
具体用法我就不做过多介绍了,可以自行参考文档,或者找一找网上大神们的解释说明。
2、实现代码
import cv2 as cv import numpy as np import matplotlib.pyplot as plt img = cv.imread('photos/1.bmp') cv.imshow('img', img) gray_img = cv.cvtcolor(img, cv.color_bgr2gray) cv.imshow('grayimg', gray_img) # gray histogram gray_hist = cv.calchist([gray_img], [0], none, [256], [0,256], false) # cv.calchist(images, channels, mask, histsize, ranges, accumulate) plt.figure(1) plt.title('gray histogram contour') plt.xlabel('gray level') plt.ylabel('number of pixels') plt.plot(gray_hist) plt.xlim([0,256]) plt.figure(2) plt.title('gray histogram') plt.xlabel('gray level') plt.ylabel('number of pixels') plt.hist(gray_img.ravel(),256) plt.show() cv.waitkey(0)
3、效果示例
三、彩色直方图
跟灰度直方图的原理差不多,需要对三种颜色进行一个简单的遍历,循环输出图形。
1、实现代码
import cv2 as cv import matplotlib.pyplot as plt import numpy as np img = cv.imread('photos/1.bmp') cv.imshow('img', img) plt.figure() plt.title('color histogram') plt.xlabel('level') plt.ylabel('number of pixels') colors = ('b', 'g', 'r') for i,item in enumerate(colors): hist = cv.calchist([img], [i], none, [256], [0,256]) plt.plot(hist, color=item) plt.xlim([0,256]) plt.show() cv.waitkey(0)
2、效果示例
由此图我们可以直观地看出三种颜色不同阈值所出现的频率的大小。
到此这篇关于python matplotlib绘制灰度和彩色直方图的文章就介绍到这了,更多相关python matplotlib绘制直方图内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 不能说明你有没有读过书
下一篇: JavaScript实现余额数字滚动效果
推荐阅读
-
python+matplotlib绘制简单的海豚(顶点和节点的操作)
-
Python中的pygal安装和绘制直方图代码分享
-
Python使用matplotlib绘制正弦和余弦曲线的方法示例
-
Python:利用matplotlib库绘制统计图(饼图、直方图、散点图、极坐标图和网格图)
-
【python数据分析(25)】Matplotlib库基本图形绘制(2) (直方图、密度图、散点图、矩阵散点图、极坐标图、雷达图、极轴图、箱型图)
-
Python学习-Matplotlib库绘制各类常见统计图(散点图、条形图、直方图、饼状图、极坐标图)
-
Java实现直方图均衡化增强灰度和彩色图像
-
【数字图像处理实验】RGB与HSI互转、灰度直方图绘制、直方图均衡化、直方图规定化的MATLAB实现与Python实现
-
Python+matplotlib绘制不同大小和颜色散点图实例
-
Python:matplotlib绘制直方图