PyTorch에서 단일 이미지 표시하기
PyTorch에서 단일 이미지 표시하기
- Python
- Matplotlib
- PyTorch
코드
import matplotlib.pyplot as plt
import torch
# 이미지 로딩
image = torch.randn(3, 256, 256)
# 이미지 변환 (PyTorch Tensor -> NumPy array)
image = image.numpy().transpose((1, 2, 0))
# 이미지 표시
plt.imshow(image)
plt.show()
설명
matplotlib.pyplot
라이브러리를plt
라는 별칭으로 임포트합니다.- PyTorch Tensor 형식의 이미지를 로딩합니다.
- PyTorch Tensor는 NumPy array 형식으로 변환해야 Matplotlib에서 표시할 수 있습니다.
plt.imshow()
함수를 사용하여 이미지를 표시합니다.
참고
- 이미지 로딩 방법은 사용하는 데이터셋과 환경에 따라 다를 수 있습니다.
- 이미지 변환 코드는 PyTorch 버전에 따라 다를 수 있습니다.
- Matplotlib에는 다양한 이미지 표시 옵션이 있습니다. 자세한 내용은 Matplotlib 문서를 참고하십시오.
추가 정보
더 깊이 알아보기
- Matplotlib을 사용하여 여러 이미지를 표시하는 방법
- Matplotlib을 사용하여 이미지에 캡션 및 축 레이블 추가하는 방법
- PyTorch을 사용하여 이미지 전처리 및 후처리 수행하는 방법
예제 코드
import matplotlib.pyplot as plt
import torch
# 이미지 로딩 (예시: MNIST 데이터셋)
from torchvision.datasets import MNIST
# MNIST 데이터셋 경로 설정
data_dir = "./data"
# MNIST 데이터셋 로딩
train_dataset = MNIST(data_dir, train=True, download=True)
# 훈련 데이터에서 무작위 이미지 선택
image, label = train_dataset[0]
# 이미지 변환 (PyTorch Tensor -> NumPy array)
image = image.numpy().transpose((1, 2, 0))
# 이미지 표시
plt.imshow(image, cmap="gray")
plt.title(f"Label: {label}")
plt.show()
- 위 코드는 MNIST 데이터셋에서 무작위 이미지를 선택하여 표시합니다.
torchvision.datasets
모듈을 사용하여 MNIST 데이터셋을 로딩합니다.plt.imshow()
함수에cmap="gray"
옵션을 추가하여 이미지를 회색조로 표시합니다.plt.title()
함수를 사용하여 이미지 레이블을 표시합니다.
- 다른 데이터셋을 사용하려면 데이터 로딩 코드를 변경해야 합니다.
- 이미지 표시를 위한 다양한 옵션을 추가할 수 있습니다.
PyTorch에서 단일 이미지 표시하기: 대체 방법
from PIL import Image
# 이미지 로딩
image = Image.open("image.png")
# 이미지 표시
image.show()
OpenCV 라이브러리 사용
import cv2
# 이미지 로딩
image = cv2.imread("image.png")
# 이미지 표시
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
각 방법의 장단점
방법 | 장점 | 단점 |
---|---|---|
Matplotlib | 다양한 이미지 표시 옵션 제공 | 상대적으로 느림 |
Pillow | 간단하고 빠름 | 이미지 표시 옵션 제한적 |
OpenCV | 빠르고 효율적 | Python 인터페이스가 다소 복잡 |
python matplotlib pytorch