2017-12-20 8 views
0

matplotlib을 사용하여 이미지를 표시하려면 어떻게해야합니까?그림에서 분할 된 기능으로 변환 된 이미지를 어떻게 표시 할 수 있습니까?

from PIL import Image 
import matplotlib.pyplot as plt 

img = Image.open('lena.png') 
colors = img.split() 
RED = colors[0] 

원본 이미지와 막대 그래프를 보여 줬지만 나는 빨간색 사진을 보여주지 못했습니다.

plt.subplot(2,2,2) 
plt.imshow(RED) 
plt.show() 

나는 원본 사진과 히스토그램을 보여하지만 난 마지막 줄에 빨간색 picture.Error 메시지가 표시되지 수 :

AttributeError: 'numpy.ndarray' object has no attribute 'mask' 

답변

0

당신은 NumPy와 배열에 PIL 이미지를 변환해야합니다.

import numpy as np 
# ... 
plt.imshow(np.array(RED)) 
+0

이미지) (nP.Array (RED)로 만든 국지적 인 이미지 또한 내가 말하고 싶은 녹색 tone.what입니다 지배를 RED.show를 사용하여 만든 것처럼이 동일하지 않습니다 : https : //로 imgur .com/a/hc9M3 죄송합니다, 제 영어. 귀하의 의견에 감사합니다. – uyusuk

+0

붉은 색 채널은 그레이 스케일 이미지입니다. 표시 할 색상 맵을 선택할 수 있습니다. 기본 설정이 마음에 들지 않으면 예를 들어 'plt.imshow (np.array (RED), cmap = "grey")'또는'plt.imshow (np.array (RED), cmap = "Reds_r")'와 같이 사용합니다. – ImportanceOfBeingErnest

+0

이해합니다. 도움을 주셔서 감사합니다. – uyusuk

관련 문제