Python matplotlib绘制灰度和彩色直方图 目录 一.Matplotlib.Pyplot简介 1.Matplotlib 2.Pyplot 二.灰度直方图 1.主要函数 2.实现代码 3.效果示例 三.彩色直方图 1.实现代码 2.效果示例 一.Matplotlib.Pyplot简介 1.Matplotlib Matplotlib 是 Python 的绘图库,它能让使用者很轻松
目录
- 一、Matplotlib.Pyplot简介
- 1、Matplotlib
- 2、Pyplot
- 二、灰度直方图
- 1、主要函数
- 2、实现代码
- 3、效果示例
- 三、彩色直方图
- 1、实现代码
- 2、效果示例
一、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绘制直方图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
本文标题为:Python matplotlib绘制灰度和彩色直方图
基础教程推荐
- 四步教你学会打包一个新的Python模块 2022-10-20
- ubuntu 18 python3.6 的安装与 python2的版本切换 2023-09-03
- 基于Python实现股票数据分析的可视化 2023-08-04
- Python 中 Elias Delta 编码详情 2023-08-08
- Centos7下安装python环境 2023-09-04
- Python爬取当网书籍数据并数据可视化展示 2023-08-11
- python的环境conda简介 2022-10-20
- Python基础学习之函数和代码复用详解 2022-09-02
- centos系统 anaconda3(python3)安装pygrib 2023-09-04
- CentOS 7.5 安装 Python3.7 2023-09-03