여기에 두 가지 문제가있을 수 있습니다. 그것은 왜 색이 이상한지를 설명 할 것입니다. 이 경우 아래와 같이 배열의 색상 채널을 바꿔야합니다.
# swapped color channels (R, B, G)
rgb_image = rgb_image[:, :, [0, 2, 1]]
plt.figure()
plt.imshow(rgb_image)
plt.axis('off')
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.cbook import get_sample_data
rgb_image = plt.imread(get_sample_data("grace_hopper.png", asfileobj=False))
# correct color channels (R, G, B)
plt.figure()
plt.imshow(rgb_image)
plt.axis('off')
문제 2 :
하기 matplotlib의 plt.imshow
가 None
기본값으로 지정되지 않은 경우 키워드 인수 interpolation
있습니다. 그런 다음 Matplotlib은 로컬 스타일 시트를 참조하여 기본 보간 동작을 결정합니다. 스타일 시트에 따라 보간이 적용될 수 있으므로 이미지가 왜곡 될 수 있습니다. documentation for imshow for more details을 참조하십시오.
Matplotlib이 이미지를 보간하지 않도록하려면 에 interpolation="none"
을 지정해야합니다. 기본 없음 유형 값 None
이 문자열 값 "none"
과 다른 동작을하기 때문에 혼란 스럽습니다.
red = np.zeros((100, 100, 3), dtype=np.uint8)
red[:, :, 0] = 255
red[40:60, 40:60, :] = 255
# with interpolation
plt.figure()
plt.imshow(red, interpolation='bicubic')
plt.axis('off')
# without interpolation
plt.figure()
plt.imshow(red, interpolation='none')
plt.axis('off')
하기 matplotlib 2.0
기본 보간'image.interpolation '으로 변경되었습니다 :'nearest'' –