다양한 이미지 확장자와 확장자 변경하기

2024. 10. 23. 18:14·파이썬/Basic
반응형

이미지 파일에는 다양한 확장자가 사용됩니다. 각 확장자마다 특징과 장단점이 있기 때문에, 상황에 맞는 적절한 확장자를 선택하는 것이 중요합니다. 이번 포스팅에서는 주요 이미지 확장자들을 살펴보고, Python을 이용하여 이미지 확장자를 변경하는 방법을 알아보겠습니다.

주요 이미지 확장자

  1. JPEG/JPG
    • 가장 널리 사용되는 이미지 형식
    • 사진 이미지에 적합하며, 손실 압축을 지원하여 파일 크기를 줄일 수 있음
    • 투명도 지원 불가
  2. PNG
    • 투명도 지원, 손실 없는 압축 형식
    • 사진 이미지와 그래픽 이미지에 모두 적합
    • 파일 크기가 JPEG보다 크지만 화질이 좋음
  3. GIF
    • 애니메이션 지원
    • 256색 제한으로 사진 이미지에는 부적합하지만, 간단한 그래픽 이미지에는 적합
    • 투명도 지원
  4. BMP
    • 비트맵 이미지 형식
    • 무손실 압축이며, 화질이 좋지만 파일 크기가 큼
    • 투명도 지원 불가
  5. TIFF
    • 무손실 압축이며, 화질이 매우 좋음
    • 파일 크기가 크지만 전문적인 이미지 편집 프로그램에서 많이 사용됨
    • 투명도 지원
  6. WebP
    • Google에서 개발한 이미지 형식
    • 사진 이미지에 적합하며, JPEG보다 작은 파일 크기를 가짐
    • 투명도와 애니메이션 지원

이처럼 각 확장자마다 장단점이 있기 때문에, 용도와 요구사항에 따라 적절한 확장자를 선택해야 합니다.

Python으로 이미지 확장자 변경하기

Python에서 이미지 처리를 위해 PIL (Python Imaging Library) 또는 Pillow 라이브러리를 사용할 수 있습니다. 이 라이브러리를 이용하면 이미지의 확장자를 변경할 수 있습니다.

from PIL import Image
import os

# 이미지 파일 경로
input_image = "example.jpg"
output_image = "example.png"

# 이미지 열기
image = Image.open(input_image)

# 이미지 확장자 변경하여 저장
image.save(output_image)

이 코드에서는 JPG 파일을 열어서 PNG 파일로 저장합니다. Image.save() 메서드를 사용할 때 파일 확장자를 변경하면 됩니다.

확장자를 변경할 때는 이미지 형식이 호환되는지 확인해야 합니다. 예를 들어, JPG 파일을 GIF 파일로 변경하려면 투명도 정보가 손실될 수 있습니다.

또한 디렉토리 내의 모든 이미지 파일의 확장자를 일괄적으로 변경하고 싶다면 다음과 같이 코드를 작성할 수 있습니다:

import os
from PIL import Image

# 입력 디렉토리와 출력 디렉토리 설정
input_dir = "input_images"
output_dir = "output_images"

# 디렉토리 내 파일 목록 가져오기
for filename in os.listdir(input_dir):
    # 이미지 파일인지 확인
    if filename.endswith((".jpg", ".png", ".gif")):
        # 입력 이미지 파일 경로
        input_path = os.path.join(input_dir, filename)

        # 출력 이미지 파일 경로 (확장자 변경)
        output_filename, ext = os.path.splitext(filename)
        output_path = os.path.join(output_dir, f"{output_filename}.png")

        # 이미지 열기 및 PNG 파일로 저장
        image = Image.open(input_path)
        image.save(output_path)

이 코드는 input_images 디렉토리 내의 모든 이미지 파일(.jpg, .png, .gif)을 읽어와 output_images 디렉토리에 PNG 파일로 저장합니다.

이와 같이 Python의 이미지 처리 라이브러리를 활용하면 손쉽게 이미지 파일의 확장자를 변경할 수 있습니다. 사용 목적과 호환성을 고려하여 적절한 확장자를 선택하는 것이 중요합니다.

저작자표시 비영리 변경금지 (새창열림)

'파이썬 > Basic' 카테고리의 다른 글

순환 참조(Circular Import) 이해하기와 해결 방법  (2) 2024.12.06
파이썬에서 디자인 패턴 적용하기  (8) 2024.10.24
Python 데코레이터 : 정적 메서드부터 데이터 클래스까지 알아보기  (0) 2024.09.16
Python의 데코레이터: 강력한 코드 확장 기능  (1) 2024.09.15
sort와 sorted의 차이점  (0) 2024.02.15
'파이썬/Basic' 카테고리의 다른 글
  • 순환 참조(Circular Import) 이해하기와 해결 방법
  • 파이썬에서 디자인 패턴 적용하기
  • Python 데코레이터 : 정적 메서드부터 데이터 클래스까지 알아보기
  • Python의 데코레이터: 강력한 코드 확장 기능
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (5)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    unity
    파이썬
    리스트
    스마트스토어리뷰
    카페24리뷰
    스크립트 실행
    스크립트 실행 순서
    Python
    list
    programmerlife
    셀레니움
    learntocode
    codingtips
    codingcommunity
    rtsp
    ipcamera
    카페24리뷰이관
    유니티
    appdevelopment
    라떼우유
    리뷰이관
    상품 리뷰 크롤링
    리뷰관리
    긴유통기한우유
    쇼핑몰리뷰
    devlife
    C#
    믈레코비타멸균우유
    cv2
    programming101
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
다양한 이미지 확장자와 확장자 변경하기
상단으로

티스토리툴바