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')は何をしますか?私はグーグルを検索してみました、そして私が理解できたすべては「灰色の」議論がカラーマップであるということでした。しかし、私の画像(写真はサイト上にあります。リンクを参照)がグレースケールで表示されません。 2番目の引数を削除してみました。したがって、コードはplt.imshow(img1)のようでした。実行されます。画像は以前と同じままです。次に、2番目の引数「灰色」は何をしますか?誰かがこれをすべて私に説明できますか?助けてくれてありがとう。ありがとう。
PS。私はMatplotlibにまったく新しい
_img1
_の形状が_(M,N,3)
_または_(M,N,4)
_の場合、_img1
_の値はRGBまたはRGBA値として解釈されます。この場合、cmapは無視されます。ごと the help(plt.imshow)
docstring :
cmap:_
~matplotlib.colors.Colormap
_、オプション、デフォルト:なしNoneの場合、デフォルトはrc _
image.cmap
_値です。cmap
は、X
にRGB(A)情報がある場合は無視されます
ただし、img
が_(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,)
_