Matplotlib是Python最著名的2D绘图库,该库仿造Matlab提供了一整套相似的绘图函数,用于绘图和绘表,强大的数据可视化工具和做图库,适合交互式绘图,图形美观。
imshow:热图(heatmap)是数据分析的常用方法,通过色差、亮度来展示数据的差异、易于理解。Python在Matplotlib库中,调用imshow()函数实现热图绘制。
imshow 参数及其默认值
plt.imshow(
X,
cmap=None,
norm=None,
aspect=None,
interpolation=None,
alpha=None,
vmin=None,
vmax=None,
origin=None,
extent=None,
shape=None,
filternorm=1,
filterrad=4.0,
imlim=None,
resample=None,
url=None,
*,
data=None,
**kwargs,
)
参数:X
-
图像数据。支持的数组形状是:
- (M,N) :带有标量数据的图像。数据可视化使用色彩图。
- (M,N,3) :具有RGB值的图像(float或uint8)。
- (M,N,4) :具有RGBA值的图像(float或uint8),即包括透明度。
前两个维度(M,N)定义了行和列图片,即图片的高和宽;
RGB(A)值应该在浮点数[0, ..., 1]的范围内,或者
整数[0, ... ,255]。超出范围的值将被剪切为这些界限。
参数:cmap
- 将标量数据映射到色彩图
- 颜色默认为:rc:
image.cmap
。
参数:norm :~matplotlib.colors.Normalize
- 如果使用scalar data ,则Normalize会对其进行缩放[0,1]的数据值内。
- 默认情况下,数据范围使用线性缩放映射到颜色条范围。 RGB(A)数据忽略该参数。
参数:aspect
- {'equal','auto'}或float,可选
- 控制轴的纵横比。该参数可能使图像失真,即像素不是方形的。
- equal:确保宽高比为1,像素将为正方形。(除非像素大小明确地在数据中变为非正方形,坐标使用 extent )。
- auto: 更改图像宽高比以匹配轴的宽高比。通常,这将导致非方形像素。
参数:interpolation
- str
- 使用的插值方法
- 支持的值有:'none', 'nearest', 'bilinear', 'bicubic','spline16', 'spline36', 'hanning', 'hamming', 'hermite', 'kaiser',
'quadric', 'catrom', 'gaussian', 'bessel', 'mitchell', 'sinc','lanczos'. - 如果interpolation = 'none',则不执行插值
参数:alpha
- alpha值,介于0(透明)和1(不透明)之间。RGBA输入数据忽略此参数。
参数:vmin, vmax : scalar,
- 如果使用* norm 参数,则忽略 vmin , vmax *。
- vmin,vmax与norm结合使用以标准化亮度数据。
参数:origin : {'upper', 'lower'}
- 将数组的[0,0]索引放在轴的左上角或左下角。
- 'upper'通常用于矩阵和图像。
- 请注意,垂直轴向上指向“下”但向下指向“上”。
参数:extent:(left, right, bottom, top)
- 数据坐标中左下角和右上角的位置。 如果为“无”,则定位图像使得像素中心落在基于零的(行,列)索引上。
导入包
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
展示原图
img=mpimg.imread('2019062107.png')
imgplot = plt.imshow(img)
效果

2019062108.png
处理1
plt.imshow(img[:,:,0], cmap="hot")

2019062109.png
处理 2
plt.imshow(img, interpolation="bicubic")

2019062110.png
原文:https://www.jianshu.com/p/694afb0db7d5