[Python] Image Resize / 움짤(GIF) 만들기
업데이트:
Image Resize
from PIL import Image
image = Image.open('/content/jihye.jpg')
# print(image.size)
resize_image = image.resize((256,256))
resize_image.save('/content/jihye.jpg')
Image Show in notebook
from IPython.display import display, Image
display(Image(filename=f"image.png"))
from PIL import Image
def make_image(tensor):
    return (
        tensor.detach()
        .clamp_(min=-1, max=1)
        .add(1)
        .div_(2)
        .mul(255)
        .type(torch.uint8)
        .permute(0, 2, 3, 1)
        .to("cpu")
        .numpy()
    )
# imgs_gen = torch.Size([1, 3, 256, 256])
img_gen = make_image(imgs_gen)  
# img_gen = (1, 256, 256, 3)
out = Image.fromarray(img_gen[0])
out.save("img.png")
out.show() # <PIL.Image.Image image mode=RGB size=256x256 at 0x7F30087F85D0>
out
Make GIF
import imageio
import os
from PIL import Image
import natsort
directory = 'style-transfer'
image_type = '.png'
gif_name = 'output'
speed_sec = { 'duration': 0.2 } #사진 넘기는 시간
images = []
# 이미지 이름 순서대로 움짤을 만들려고 sorting
file_list = natsort.natsorted(os.listdir(directory))
for file in file_list:
    if file.endswith(image_type) :
        file_path = os.path.join(directory, file)
        images.append(imageio.imread(file_path))
    
imageio.mimsave('{0}/{1}.gif'.format(directory, gif_name), images, **speed_sec)
다음과 같이 저장되어있는 이미지에 대해 움짤을 만들 수 있다.
| output1 | output2 | output3 | 
|---|---|---|
![]()  | 
      ![]()  | 
      ![]()  | 
    



댓글남기기