[1일 1파] AI와 파이썬으로 이미지 크기 일괄 변경하기

ChatGPT와 파이썬으로 이미지 크기 일괄 변경하기

챗gpt와 파이썬으로 이미지 크기변환 프로그램 만들기

🗂 목차

1. 이미지 크기 변경이란?

→ 사진이나 그림 파일의 크기를 줄이면 저장 공간을 절약하고, 웹사이트 로딩 속도를 빠르게 할 수 있어요.

🔹 실생활에서 활용 예시

  • ✅ 블로그나 웹사이트에 올릴 사진 크기 줄이기
  • ✅ 이메일 첨부용으로 이미지 용량 줄이기
  • ✅ 스마트폰 배경화면 크기 조정

2. 개발 환경 설정 ⚙️

→ Python과 필요한 라이브러리를 설치해야 해요.

→ 필요한 라이브러리 설치

pip install pillow

 

 * 저는 이미 설치가 되서 메시지는 다르겠지만, cmd  창을 열고 직접 명령어를 입력해 보세요!

pip install pillow 설치

3. Step-by-Step 파이썬 코딩

1️⃣ 라이브러리 불러오기

from PIL import Image
import os

 

→ 손을 멈추지 말고 입력하러 가봅니다~

라이브러리 불러오기

2️⃣ 폴더 내 모든 이미지 파일 불러오기

image_folder = "images"
save_folder = "resized"

if not os.path.exists(save_folder):
    os.makedirs(save_folder)

files = [f for f in os.listdir(image_folder) if f.endswith(('png', 'jpg', 'jpeg'))]

 

위 코드에서 이미지 폴더(images)와 저장 폴더(resized)를 찾지 못해서 오류가 발생

     → 절대경로 수정(예: d:/py/images)

 

resized 폴더는 같은 이름이 존재하는지 확인해서 생성(os.makedirs(save_folder))을 해주니 미리 만들지 않으셔도 되요.

✔ 경로가 안맞거나 경로에서 "\" 입력시 오류가 발생하기도 하니 "/" 요렇게 바꿔서 입력하시면 해결되요.

 

→ 저는 이렇게 해결했어요.

폴더 경로 절대결로 지정

 

* 실행을 하면 위에 경로에 'resized' 폴더가 생성되는걸  확인 할 수 있어요.

 

3️⃣ 이미지 크기 변경 및 저장

new_size = (300, 300)

for file in files:
    img = Image.open(os.path.join(image_folder, file))
    img_resized = img.resize(new_size)
    img_resized.save(os.path.join(save_folder, file))

 

→ 사이즈를 변경하는 코드를 입력해 봤어요.

사이즈를 변경하는 코드

 

✔ 저는 실행을 해도 별다른 결과는 없었는데, 생각해보니 images 폴더에 이미지가 없었네요.🤣

    다시 실행해보니 이미지가 변환되서 resized 폴더에 생겼습니다.

 

 

4. Python 전체 코드 📜

from PIL import Image
import os

# 폴더 설정
image_folder = "images"
save_folder = "resized"

if not os.path.exists(save_folder):
    os.makedirs(save_folder)

# 파일 목록 가져오기
files = [f for f in os.listdir(image_folder) if f.endswith(('png', 'jpg', 'jpeg'))]

# 이미지 크기 변경
new_size = (300, 300)

for file in files:
    img = Image.open(os.path.join(image_folder, file))
    img_resized = img.resize(new_size)
    img_resized.save(os.path.join(save_folder, file))

print("이미지 크기 변경 완료!")

 

→ 이미지 파일 여러개를 넣고도 테스트 해봅니다.

     전 이미지 파일 확장자가 *.webp 있는지 모르고 해서 왜 안되나 했어요.

     확장자가 다른 이미지 파일이 있는 경우는 아래 코드 12번 행에 파일 확장자를 추가하면 되세요~

전체 코드 입력

5. 실행 방법 & 결과

  1. images 폴더에 사진을 넣어주세요.
  2. Python 파일을 실행하면 resized 폴더에 변경된 사진이 저장됩니다.

6. 초보자 FAQ ❓

Q1. 이미지 폴더가 없으면 어떻게 하나요?

images 폴더를 만들어 주세요.

Q2. 크기를 다르게 변경하려면?

new_size = (가로, 세로) 값을 변경하세요.

Q3. 다른 확장자도 가능할까요?

→ 현재는 JPG, PNG, JPEG만 지원합니다. GIF를 추가하려면 코드에서 if f.endswith(('png', 'jpg', 'jpeg', 'gif'))로 수정하세요.

7. 맺음말 & 발전 과제

오늘은 이미지 크기 일괄 변경 프로그램을 만들어 보았습니다!

이젠 좀 익숙해지셨나요? 어렵고 생각처럼 안되는 부분은 AI를 활용해 보세요! 신세계~😆

 

💡 발전 과제

  • ⚠ 다른 확장자(GIF, BMP 등)도 지원하도록 개선하기
  • ⚠ GUI를 추가하여 버튼으로 조작할 수 있게 만들기
  • ⚠ 파일 선택 기능 추가하기

📌 이전 글 & 다음 글