Matplotlib에서 그레이 스케일로 이미지를 표시하는 방법
-
matplotlib.pyplot.imshow()
-Matplotlib에서 그레이 스케일로 이미지 표시 - 예: 그레이 스케일의 Matplotlib 디스플레이 이미지
Matplotlib를 사용하여 회색조 이미지를 표시하려면 매개 변수cmap
을'gray'
로 설정하고vmin
을0
으로 설정하고vmax
를255
로 설정하여matplotlib.pyplot.imshow()
를 사용합니다. 기본적으로cmap
,vmin
및vmax
의 값은None
으로 설정됩니다.
matplotlib.pyplot.imshow()
-Matplotlib에서 그레이 스케일로 이미지 표시
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)
예: 그레이 스케일의 Matplotlib 디스플레이 이미지
import matplotlib.pyplot as plt
import matplotlib.image as img
image = img.imread("lena.jpg")
plt.imshow(image[:, :, 1], cmap="gray", vmin=0, vmax=255, interpolation="none")
plt.show()
출력:
이 메소드는matplotlib.image
모듈에서imread()
함수를 사용하여 RGB 이미지 인lena.jpg
이미지를 읽습니다. 이미지를 회색조로 표시하려면 하나의 색상 채널 만 필요합니다. 따라서 다음 단계에서는 단일 색상 채널 만 가져 와서cmap
을'gray'
로,vmin
을0
으로,vmax
가 255로 설정된 plt.imshow()
방식으로만 영상을 표시하면 된다.
마지막으로show()
메서드를 사용하여 이미지를 회색조로 표시하는 창을 표시합니다. 위의 스크립트를 실행하려면 현재 작업 디렉토리에lena.jpg
가 있어야합니다.
하나의 색상 채널 만 사용하는 것은 RGB
이미지를 그레이 스케일 이미지로 변환하는 적절한 방법이 아닙니다. 변환을보다 효율적으로 만드는 특정 알고리즘이 있기 때문입니다. 이러한 알고리즘은 사용 가능한 거의 모든 인기있는 이미지 처리 라이브러리에서 구현됩니다. 아래에서는 PIL
을 사용한 예를 보여줍니다.
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
image = Image.open("lena.jpg")
gray_image = image.convert("L")
gray_image_array = np.asarray(gray_image)
plt.imshow(gray_image_array, cmap="gray", vmin=0, vmax=255)
plt.show()
출력:
여기서는open()
함수를 사용하여 현재 작업 디렉토리에서lena.jpg
이미지를 읽은 다음'L'
을 인수로 사용하여convert()
메서드를 사용하여 이미지를 회색조로 변환합니다. 그런 다음 회색조 이미지를 NumPy 배열로 변환하고imshow()
메서드를 사용하여 이미지를 표시합니다.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn