>  기사  >  백엔드 개발  >  Matplotlib의 imshow()를 사용할 때 회색조 이미지가 컬러로 나타나는 이유는 무엇입니까?

Matplotlib의 imshow()를 사용할 때 회색조 이미지가 컬러로 나타나는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 06:18:29180검색

Why Does My Grayscale Image Appear in Color When Using Matplotlib's imshow()?

Matplotlib의 회색조 이미지 표시 문제 해결

Matplotlib의 imshow()를 사용하여 회색조 이미지를 표시하려고 할 때 다음과 같은 문제가 발생했습니다. 대신 이미지가 컬러맵으로 나타나는 상황입니다. 이미지 위에 색상을 사용하여 그림을 그리는 것이 목표라면 실망스러울 수 있습니다.

해결책

imshow() 함수가 컬러맵을 할당하기 때문에 불일치가 발생합니다. 기본적으로 이미지에. 이를 수정하려면 cmap 인수를 명시적으로 지정하고 'gray' 또는 'gray_r'로 설정하여 각각 회색조 또는 역 회색조를 표시하십시오.

<code class="python">import numpy as np
import matplotlib.pyplot as plt
from PIL import Image

# Open and convert the image to grayscale
fname = 'image.png'
image = Image.open(fname).convert("L")

# Convert the image to a matrix
arr = np.asarray(image)

# Display the grayscale image
plt.imshow(arr, cmap='gray', vmin=0, vmax=255) # Use 'gray_r' for inverse grayscale
plt.show()</code>

이 수정된 코드에서 볼 수 있듯이 색상맵을 지정하면 이미지가 회색조로 올바르게 렌더링됩니다. 이제 이미지 위에 색상을 사용하여 원하는 작업을 진행할 수 있습니다.

위 내용은 Matplotlib의 imshow()를 사용할 때 회색조 이미지가 컬러로 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.