OpenCV笔记14:在OpenCV中使用matplotlib

1、学习目标
在OpenCV中使用matplotlib

2、使用方法
导入matplotlib

from matplotlib import pyplot as plt

使用的函数方法
plt.imshow()
plt.show()
plt.xticks()
plt.yticks()
plt.title()
plt.subplot()
3、在pycharm安装matplotlib过程
(1)右击windows图标,选择windows power shell
安装步骤如下图
在这里插入图片描述
(2)打开pycharm的python工程
点击file—setting—project interpreter——“+”
搜索matplotlib,点击安装。
在这里插入图片描述
在工程下新建一个文件(文件名不要起matplotlib.py,否则from matplotlib import pyplot as plt会失败*)
4、程序
(1)
在这里插入图片描述
原图
在这里插入图片描述
结果
在这里插入图片描述
(2)
在这里插入图片描述
在这里插入图片描述
(3)
在这里插入图片描述
在这里插入图片描述程序函数讲解:
(1)
显示图像,即2D常规栅格上的数据。

matplotlib.pyplot.imshow(X, cmap=None, norm=None, aspect=None, interpolation=None, alpha=None, vmin=None, vmax=None, origin=None, extent=None, shape=<deprecated parameter>, filternorm=1, filterrad=4.0, imlim=<deprecated parameter>, resample=None, url=None, *, data=None, **kwargs) 
参数:
X : 类似阵列或PIL图像
图像数据。支持的数组形状是:

(M,N):具有标量数据的图像。使用色彩图可视化数据。
(M,N,3):具有RGB值的图像(0-1浮点数或0-255 int)。
(M,N,4):具有RGBA值(0-1浮点或0-255 int)的图像,即包括透明度。
前两个维度(M,N)定义图像的行和列。

超出范围的RGB(A)值被剪裁。

cmap : str或Colormap,可选
Colormap实例或注册的colormap名称,用于将标量数据映射到颜色。RGB(A)数据忽略此参数。默认为rcParams["image.cmap"]。

norm : Normalize,可选
该Normalize实例用于在使用cmap映射到颜色之前将标量数据缩放到[0,1]范围。默认情况下,使用线性缩放将最低值映射到0,将最高值映射到1。RGB(A)数据忽略此参数。

aspect : {'equal','auto'}或float,可选
控制轴的纵横比。该方面与图像特别相关,因为它可能使图像失真,即像素不是方形的。

此参数是显式调用的快捷方式 Axes.set_aspect。 
'相等':确保纵横比为1.像素将为正方形(除非像素大小在使用范围的数据坐标中明确地为非正方形)。
'auto':轴保持固定,方向调整,使数据适合轴。通常,这将导致非方形像素。
如果没有给出,请使用rcParams["image.aspect"](默认值:'相等')。

interpolation : str,可选
使用的插值方法。如果使用None rcParams["image.interpolation"],则默认为“最近”。

支持的值是'none','nearest','bilinear','bicubic','spline16','spline36','hanning','hamming','hermite','kaiser','quadric','catrom' ,'高斯','bessel','mitchell','sinc','lanczos'。

如果插值为“none”,则不对Agg,ps,pdf和svg后端执行插值。其他后端将回落到“最近”。请注意,大多数SVG渲染器在渲染时执行插值,并且它们实现的默认插值方法可能不同。

有关 支持的插值方法的概述,请参阅 imshow / matshow的插值。

某些插值方法需要额外的半径参数,可以通过filterrad设置。另外,抗粒图像调整大小滤波器由参数filternorm控制。

alpha : 标量,可选
alpha混合值,介于0(透明)和1(不透明)之间。RGBA输入数据忽略此参数。

vmin,vmax : 标量,可选
当使用标量数据而没有明确的规范时,vmin和vmax 定义了颜色映射所涵盖的数据范围。默认情况下,colormap涵盖所提供数据的完整值范围。如果使用norm参数,则忽略vmin,vmax。

origin : {'upper','lower'},可选
将数组的[0,0]索引放在轴的左上角或左下角。约定'upper'通常用于矩阵和图像。如果没有给出,rcParams["image.origin"]则使用,默认为'upper'。

请注意,垂直轴向上指向“下”但向下指向“上”。

有关示例和更详细的说明,请参阅imshow教程中的原点和范围。

extent  : 标量(左,右,下,上),可选
图像将填充的数据坐标中的边界框。图像沿x和y单独拉伸以填充框。

默认范围由以下条件决定。像素在数据坐标中具有单位大小。它们的中心位于整数坐标上,它们的中心坐标水平地从0到列-1,垂直从0到行-1。

请注意,垂直轴的方向以及顶部和底部的默认值取决于原点:

对于默认为 。origin == 'upper'(-0.5, numcols-0.5, numrows-0.5, -0.5)
对于默认为 。origin == 'lower'(-0.5, numcols-0.5, -0.5, numrows-0.5)
有关示例和更详细的说明,请参阅imshow教程中的原点和范围。

filternorm : bool,可选,默认值:True
antigrain图像调整大小过滤器的参数(请参阅antigrain文档)。如果设置了filternorm,则过滤器将整数值标准化并更正舍入误差。它对源浮点值没有任何作用,它只根据1.0的规则校正整数,这意味着任何像素权重之和必须等于1.0。因此,过滤函数必须生成正确形状的图形。

filterrad : float> 0,可选,默认值:4.0
具有半径参数的滤镜的滤镜半径,即当插值是以下之一时:'sinc','lanczos'或'blackman'。

resample : bool,可选
如果为True,请使用完整的重采样方法。如果为False,则仅在输出图像大于输入图像时重新采样。

url : str,可选
设置创建的URL AxesImage。见Artist.set_url。

Returns:	
image : AxesImage
其他参数:	
** kwargs : Artist属性
这些参数将传递给 AxesImage artist的构造函数 。

程序中的例子:

plt.imshow(img)

(2)
显示一个数字。

matplotlib.pyplot.show(* args,** kw )

当使用pylab模式在ipython中运行时,显示所有数字并返回到ipython提示符。

在非交互模式下,显示所有数字并阻止,直到数字关闭; 在交互模式下,除非在从非交互模式更改为交互模式之前创建数字(不推荐),否则它无效。在这种情况下,它显示数字但不阻止。

单个实验关键字参数block可以设置为True或False以覆盖上述阻塞行为。
(3)
获取或设置当前刻度线位置和x轴标签。

matplotlib.pyplot.xticks(ticks = None,labels = None,** kwargs )
参数
ticks : array_like
应该放置刻度的位置列表。您可以传递一个空列表来禁用xticks。

labels : array_like,可选
要放置在给定位置的显式标签列表。

** kwargs
Text 属性可用于控制标签的外观。

returns:	
LOCS
一系列标签位置。

labels
Text对象列表。

(4)
获取或设置y轴的当前刻度位置和标签。

matplotlib.pyplot.yticks(ticks = None,labels = None,** kwargs )

(5)
设置轴的标题。

设置三个可用轴标题之一。可用标题位于中心轴上方,与左边齐平,与右边齐平。

matplotlib.pyplot.title(label,fontdict = None,loc ='center',pad = None,** kwargs )
参数:

label : str
        用于标题的文本

fontdict : dict
        控制标题文本外观的字典,默认fontdict为:

		{'fontsize': rcParams['axes.titlesize'],
		 'fontweight' : rcParams['axes.titleweight'],
		 'verticalalignment': 'baseline',
		 'horizontalalignment': loc}
		Copy to clipboard
		
loc : {'center','left','right'},str,optional
         要设置的标题,默认为“中心”

pad : float
          标题从轴顶部的偏移量,以磅为单位。默认是None使用rcParams ['axes.titlepad']。

returns:
	
text : Text
    matplotlib文本实例表示标题

其他参数:	
** kwargs : Text属性
        其他关键字参数是文本属性 

(6)
在当前图中添加子图。

matplotlib.pyplot.subplot(* args,** kwargs )
subplot(nrows, ncols, index, **kwargs)
subplot(pos, **kwargs)
subplot(ax)
* ARGS
一个3位整数或三个独立的整数,用于描述子图的位置。如果三个整数按顺序为nrows,ncols和index,则子图将采用nrows 行和ncols列的网格上的索引位置。index从左上角的1​​开始,向右增加。

pos是一个三位整数,其中第一个数字是行数,第二个是列数,第三个是子图的索引。即fig.add_subplot(235)与fig.add_subplot(2,3,5)相同。请注意,所有整数必须小于10才能使此表单生效。

投影 : {无,'aitoff','锤','朗伯','mollweide','极地','直线',str},可选
子图(Axes)的投影类型。str是costum预测的名称,请参阅projections。默认的None会产生“直线”投影。

polar : 布尔值,可选
如果为True,则相当于projection ='polar'。

sharex,sharey : Axes,可选
axis与sharex和/或sharey 共享x或y 。轴将具有与共享轴的轴相同的限制,刻度和比例。

label : str
返回轴的标签。

returns:	
axes : 一个axes.SubplotBase子类Axes(或类的子类Axes)
子图的轴。返回的轴基类取决于使用的投影。这是Axes如果直线投影的使用和projections.polar.PolarAxes是否极投影使用。返回的轴则是基类的子图子类。

其他参数:	
** kwargs
此方法还采用返回的轴基类的关键字参数。

https://matplotlib.org

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值