Matplotlib:imshow中的cmap的功能是什么?

我正在尝试使用python学习opencv并遇到以下代码:

import cv2

import numpy as np

from matplotlib import pyplot as plt

BLUE = [255,0,0]

img1 = cv2.imread('opencv_logo.png')

replicate = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REPLICATE)

reflect = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REFLECT)

reflect101 = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_REFLECT_101)

wrap = cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_WRAP)

constant= cv2.copyMakeBorder(img1,10,10,10,10,cv2.BORDER_CONSTANT,value=BLUE)

plt.subplot(231),plt.imshow(img1,'gray'),plt.title('ORIGINAL')

plt.subplot(232),plt.imshow(replicate,'gray'),plt.title('REPLICATE')

plt.subplot(233),plt.imshow(reflect,'gray'),plt.title('REFLECT')

plt.subplot(234),plt.imshow(reflect101,'gray'),plt.title('REFLECT_101')

plt.subplot(235),plt.imshow(wrap,'gray'),plt.title('WRAP')

plt.subplot(236),plt.imshow(constant,'gray'),plt.title('CONSTANT')

plt.show()

来源:http

:

//docs.opencv.org/master/doc/py_tutorials/py_core/py_basic_ops/py_basic_ops.html#exercises

plt.imshow(img1,’gray’)有什么作用?我尝试搜索Google,但我唯一能理解的是,“灰色”参数是彩色地图。但是我的图像(网站上有图片。请参阅链接)没有以灰度显示。我尝试删除第二个参数。所以代码就像plt.imshow(img1)。它执行。图像与以前相同。那么第二个参数“灰色”是做什么的呢?有人可以向我解释所有这些吗?任何帮助表示赞赏。谢谢。

PS。我是Matplotlib的新手

回答:

img1形状为(M,N,3)或时(M,N,4),中的值img1将解释为RGB或RGBA值。在这种情况下,将忽略cmap。每对help(plt.imshow)文档字符串:

cmap:,~matplotlib.colors.Colormap可选,默认:无

如果为None,则默认为rcimage.cmap值。

但是,如果img是shape的数组(M,N),则cmap控制用于显示值的颜色图。


import numpy as np

import matplotlib.pyplot as plt

import mpl_toolkits.axes_grid1 as axes_grid1

np.random.seed(1)

data = np.random.randn(10, 10)

fig = plt.figure()

grid = axes_grid1.AxesGrid(

fig, 111, nrows_ncols=(1, 2), axes_pad = 0.5, cbar_location = "right",

cbar_mode="each", cbar_size="15%", cbar_pad="5%",)

im0 = grid[0].imshow(data, cmap='gray', interpolation='nearest')

grid.cbar_axes[0].colorbar(im0)

im1 = grid[1].imshow(data, cmap='jet', interpolation='nearest')

grid.cbar_axes[1].colorbar(im1)

plt.savefig('/tmp/test.png', bbox_inches='tight', pad_inches=0.0, dpi=200,)

在此处输入图片说明

以上是 Matplotlib:imshow中的cmap的功能是什么? 的全部内容, 来源链接: utcz.com/qa/410570.html

回到顶部