반응형
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.
반응형