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

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의 데코레이터: 강력한 코드 확장 기능
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (725) N
      • 스마트팜 (0)
      • 상품 추천 (223)
      • MongoDB (4)
      • 하드웨어 (17) N
      • 일기장 (4)
      • 파이썬 (130)
        • Basic (41)
        • 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 (4)
      • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바