본문 바로가기

Error and Solve

[코드] PIL image를 show 하기 / numpy array plt.show

반응형

PIL image를 보는 여러 방법

 

PIL Image는 python code에서 이미지를 볼 때 많이 사용됩니다. 

그 이미지를 보는 방법은 여러 가지가 있는데, 

 

# 1. Show the image directly (opens in default image viewer)
image = row['image']
image.show()

 

첫번째는 image.show()입니다

단순하게 이미지를 보여주는 function이 PIL Image 오브젝트에 포함되어 있기 때문에 바로 사용할 수 있습니다

 

 

 

# 2. Convert to numpy array (useful for manipulation or visualization with matplotlib)
import numpy as np
import matplotlib.pyplot as plt

numpy_image = np.array(image)
plt.imshow(numpy_image)
plt.axis('off')
plt.show()

 

두번째는 numpy array로 바꾼 후 보여주는 방식입니다. 

여기서 numpy array로 바꾸는 과정 없이 원래부터 numpy array인 값을 plt.imshow()로 보여줄 수 있습니다.

 

 

# 3. Get basic information about the image
print(f"Size: {image.size}")  # (width, height)
print(f"Mode: {image.mode}")  # Color mode (RGB, RGBA, etc.)
print(f"Format: {image.format}")  # Image format (JPEG, PNG, etc.)

# 4. Save the image to a file
image.save('output.png')  # or .jpg, .webp, etc.

 

마지막으로 저장해서 보여주는 방법입니다. 

PIL Image의 경우 RGB 또는 RGB가 아닌 모드로도 저장될 수 있기 때문에 확인해보는 것이 좋습니다. 

 

또한 image.save()를 하면 show()처럼 오브젝트의 내장함수로 바로 저장하는 것도 가능합니다. 

save()함수의 경우 extension을 지정하지 않으면 저장할 때 오류가 날 수도 있습니다.

 

 

 

 

모든 코드를 합하면

# 1. Show the image directly (opens in default image viewer)
image = row['image'] # PIL.Image
image.show()

# 2. Convert to numpy array (useful for manipulation or visualization with matplotlib)
import numpy as np
import matplotlib.pyplot as plt

numpy_image = np.array(image) # numpy 
plt.imshow(numpy_image)
plt.axis('off')
plt.show()

# 3. Get basic information about the image
print(f"Size: {image.size}")  # (width, height)
print(f"Mode: {image.mode}")  # Color mode (RGB, RGBA, etc.)
print(f"Format: {image.format}")  # Image format (JPEG, PNG, etc.)

# 4. Save the image to a file
image.save('output.png')  # or .jpg, .webp, etc.

 

반응형