Matplotlib中画灰度和彩色的直方图效果的代码是什么
Admin 2022-06-24 群英技术资讯 670 次浏览
Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。
Matplotlib 可以用来绘制各种静态,动态,交互式的图表。
Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。
Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。
Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。
Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。
Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,在图像中产生新的绘图区域等等。
使用的时候,我们可以使用 import 导入 pyplot 库,并设置一个别名 plt:
import matplotlib.pyplot as plt
然后我们就可以使用它来绘制图形了
主要用到两个函数
(1) calcHist()
(2) hist()
具体用法我就不做过多介绍了,可以自行参考文档,或者找一找网上大神们的解释说明。
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)
跟灰度直方图的原理差不多,需要对三种颜色进行一个简单的遍历,循环输出图形。
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)
由此图我们可以直观地看出三种颜色不同阈值所出现的频率的大小。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python类方法有哪些?在类中的函数就称为类方法,与普通函数相比较,两者还是存在一些区别的,接下来小编就给大家来介绍一下Python类方法的类型及用法,感兴趣的朋友就继续往下看吧。
sum是python中一个很实用的函数,但是要注意它的使用,我第一次用的时候,就把它这样用了:s = sum(1,2,3)结果就悲剧啦其实sum()的参数是
这篇文章主要给大家分享Pytho条件控制语句的内容,主要介绍break、continue和return使用的实例,具有一定的学习价值,感兴趣的朋友可以参考一下,希望大家阅读完这篇文章能有所收获。
这篇文章主要介绍了python机器学习之线性回归详解,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好的帮助,需要的朋友可以参考下
这篇文章会基于Python对微信好友进行数据分析,这里选择的维度主要有:性别、头像、签名、位置,主要采用图表和词云两种形式来呈现结果,其中,对文本类信息会采用词频分析和情感分析两种方法,感兴趣的小伙伴可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008