Lavender Life 스마트스토어
본문 바로가기

파이썬 학습 과정/생활속의 파이썬_응용편

프로그램 없이 쉽게! Python으로 사진 해상도 1920x1080으로 자동 조정하는 법

반응형

Python을 사용하여 JPEG 파일 해상도를 1920x1080으로 일괄 변경하는 방법

이미지 파일이 너무 커서 공유하기 어렵거나 저장 공간을 많이 차지할 때, 이미지의 해상도를 줄이면 문제를 해결할 수 있습니다. 이번 포스트에서는 Python과 Pillow 라이브러리를 사용하여 지정된 폴더의 모든 JPEG 파일을 1920x1080 해상도로 일괄 변경하는 방법을 소개합니다.

Python과 Pillow 라이브러리를 사용해 이미지 해상도를 조정하는 과정을 표현한 이미지
Python과 Pillow 라이브러리를 사용해 이미지 해상도를 조정하는 과정을 표현한 이미지

필요한 준비물

  • Python 설치
  • Pillow 라이브러리 설치: pip install Pillow

단계별 가이드

  1. Python 코드 준비하기

아래의 코드를 사용하여 JPEG 이미지의 해상도를 1920x1080으로 일괄 변경할 수 있습니다.


from PIL import Image
import os

# 사진이 저장된 폴더 경로
input_folder = '/Users/aaa/Downloads/수업'  # 사용자 지정 경로
output_folder = '/Users/aaa/Downloads/수업/수업1920'  # 출력 파일 경로

# 해상도 설정
target_width = 1920
target_height = 1080

# 출력 폴더가 없으면 생성
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 폴더 내 모든 파일을 확인
for filename in os.listdir(input_folder):
    if filename.lower().endswith('.jpg') or filename.lower().endswith('.jpeg'):
        image_path = os.path.join(input_folder, filename)
        with Image.open(image_path) as img:
            # 현재 이미지 크기 확인
            current_width, current_height = img.size

            # 현재 이미지가 목표 해상도와 다를 때만 리사이징
            if (current_width, current_height) != (target_width, target_height):
                # 이미지 리사이징
                img = img.resize((target_width, target_height), Image.LANCZOS)
                print(f"{filename} 리사이징 완료.")
            else:
                print(f"{filename} 이미 목표 해상도입니다.")

            # 결과를 출력 폴더에 저장
            output_path = os.path.join(output_folder, filename)
            img.save(output_path, 'JPEG', quality=85)

print("모든 이미지가 성공적으로 리사이징되었습니다!")

  1. 코드 실행하기

위 코드를 Python 환경에서 실행하면, 지정한 폴더에 있는 모든 JPEG 파일이 1920x1080 해상도로 변경되어 출력 폴더에 저장됩니다.

주요 코드 설명

  • Image.open(): 이미지를 열고 작업할 수 있도록 합니다.
  • img.resize(): 이미지를 지정된 해상도로 리사이징합니다. Image.LANCZOS는 고품질 리사이징 필터입니다.
  • img.save(): 리사이징된 이미지를 지정된 폴더에 저장합니다. JPEG 품질을 설정하여 파일 크기와 품질의 균형을 조절할 수 있습니다.

주의사항

  • 백업 필수: 원본 이미지를 변경하기 전에 반드시 백업하세요.
  • 호환성: 코드가 Python 3.x와 Pillow 최신 버전에 최적화되어 있습니다. 버전에 따라 약간의 수정이 필요할 수 있습니다.

Q&A :

  1. Q: Python을 사용하여 JPEG 이미지를 일괄적으로 리사이징하려면 어떤 라이브러리가 필요한가요?
    A: Python에서 JPEG 이미지를 일괄적으로 리사이징하려면 Pillow 라이브러리가 필요합니다. Pillow는 Python Imaging Library(PIL)의 확장판으로, 이미지 처리 기능을 제공합니다. 설치하려면 pip install Pillow 명령어를 사용하세요.
  2. Q: Pillow 라이브러리를 사용해 이미지 해상도를 조정할 때 주의할 점은 무엇인가요?
    A: Pillow 라이브러리를 사용해 이미지 해상도를 조정할 때, 원본 파일이 손상되지 않도록 백업하는 것이 중요합니다. 또한, 이미지의 해상도를 낮출 경우 품질 손실이 발생할 수 있으므로 품질을 조정하는 quality 매개변수를 적절히 설정하는 것이 좋습니다.
  3. Q: 이미지 리사이징 후 파일 크기를 최적화하는 방법은 무엇인가요?
    A: 이미지 리사이징 후 파일 크기를 최적화하려면 JPEG 형식으로 저장할 때 quality 매개변수를 조정해 품질을 낮추거나, PNG와 같은 비압축 형식에서 JPEG로 변경하는 방법이 있습니다. 또한, Pillow의 optimize 매개변수를 사용해 추가적인 최적화를 수행할 수 있습니다.

결론

Python을 사용하여 이미지를 일괄적으로 처리하면 시간이 절약되고 작업이 간편해집니다. 특히 많은 수의 이미지를 처리해야 할 때, 이 방법이 매우 유용합니다. Pillow 라이브러리를 활용해 간단히 이미지 크기를 조정하고, 파일 크기를 줄여보세요.

이제 여러분의 이미지 폴더를 정리하고 최적화하는 데 도움이 되길 바랍니다!

반응형

Lavender Life 스마트스토어

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.