본문 바로가기
Python

파이썬 GIF 애니메이션 만들기 예제 코드 (Python imageio)

by 무적물리 2021. 3. 30.

파이썬을 사용하면 이미지 파일을 사용해서 GIF 애니메이션 동영상을 만들 수 있습니다. 이때 사용되는 파이썬 패키지는 imageio 입니다. 이번 포스팅에서는 파이썬을 사용해 PNG나 JPEG와 같은 이미지 파일로 GIF를 만드는 방법에 대해 공유하고자 합니다.

 

해당 포스팅에서 제공하는 예제 코드를 사용하실 분은 맨 앞 코드부터 차례대로 입력하시면 해당 코드의 실행이 가능합니다.

 

 

 

패키지 선언

파이썬을 사용해 GIF 애니메이션 파일을 만들기 위해서는 두 가지 패키지가 필요합니다. 바로, os 패키지와 imageio 패키지입니다. 오래전에 파이썬을 설치했기 때문에 imageio가 내장 모듈인지 여부는 모르겠습니다.

 

import imageio
import os

 

imageio 패키지가 설치되어 있지 않은 분은 아래 포스팅 참고하시고 패키지를 설치하시면 되겠습니다.

 

파이썬 패키지 설치 및 업그레이드 방법 (Python pip Install Upgrade)

최근 파이썬 패키지들을 한번 업그레이드 해줘야해서 pip 명령어를 입력하려고보니 파이썬 패키지 업그레이드 명령어를 잊어버린 제 자신을 보고 해당 명령어를 메모하려 포스팅합니다. 이번

muzukphysics.tistory.com

 

 

GIF 생성 필요 변수 선언 코드

해당 코드의 반복적인 사용을 위해서는 디렉토리와 파일 이름 등을 변수화 해주는 것이 좋습니다. 총 네 가지를 변수 선언할 것이며 위에서부터 디렉토리, 확장자, GIF 이름, 사진을 넘기는 시간입니다.

 

각 변수에 대한 설명은 아래와 같습니다.

  • directory : GIF로 변환할 사진 위치 폴더
  • file_type : GIF로 변환할 사진의 확장자
  • save_gif_name : GIF 파일명
  • speed_sec : 사진을 넘기는 시간(초)

 

위와 같은 변수가 적용된 파이썬 코드 예제는 다음과 같습니다.

directory = r'D:/0_coopang'      # 사진 디렉토리
file_type = r'png'               # 사진 확장자
save_gif_name = r'Animation'     # 완성 gif 이름
speed_sec = { 'duration': 2. }   # 사진 넘기는 시간(초)

 

여기서 사진 Duration은 GIF에서 사진을 넘기는 시간인데 초 단위를 사용합니다. 필요한 정도로 적용해서 사용하시면 되겠습니다.

 

 

 

GIF 변환 코드

위에서 모든 변수는 정해줬으니, 아래 코드는 그냥 실행하시면 됩니다. 굳이 이해하지 않아도 되는 코드이니 적당히 붙여 넣고 실행하시면 되겠습니다. 아래 코드를 실행하시면 선언한 디렉토리 안에 선언한 GIF 이름으로 파일이 저장됩니다.

 

images = []
for file_name in os.listdir(directory):
    if file_name.endswith('.{}'.format(file_type)):
        file_path = os.path.join(directory, file_name)
        images.append(imageio.imread(file_path))
imageio.mimsave('{}/{}.gif'.format(directory, save_gif_name), images, **speed_sec)

 

주의 사항이 있는데, GIF로 변환할 이미지 파일명은 알파벳 순서대로 이름이 정해져 있어야 합니다. 예를 들어 a, b, c, d, e, f 와 같이 말입니다. 문제는 숫자로 파일 이름을 지정해놓으면 1, 10, 11, 12, 2, 3, 4 와 같은 순서로 GIF가 생성되니 유의하시면 되겠습니다.

 

파이썬 엑셀 데이터 추출 및 불러오기 예제 (Python Excel Data Read Example)

최근 파이썬을 사용해서 데이터를 불러오기를 해서 추출할 일이 있었습니다. 해당 코드는 매우 간단하며, 몇가지 코드만 알고 있으면 사용가능합니다. 해당 방법을 유용하게 사용하셨으면 좋겠

muzukphysics.tistory.com

 

 

마치며

포스팅-썸네일
썸네일

 

이번 포스팅에서는 간단히 파이썬을 이용해 이미지 파일을 GIF 애니메이션 파일로 만드는 예제 코드를 공유했습니다. 해당 코드와 방법을 적용해보시고 문제 있으신 분은 댓글 남겨주시면 답변해드리겠습니다.

 

파이썬 폴더 내 파일 리스트 읽기 예제 (Python File List in Folder)

오랜만에 파이썬 관련 포스팅입니다. 최근 업무를 수행하면서 굉장히 많은 파일에 대해 반복문을 통해 작업해줘야하는 일이 있었습니다. 이때 원하는 폴더 내 파일명을 리스트형태로 입력해줘

muzukphysics.tistory.com

댓글