본문 바로가기
Programming/Python

[Python] 파이썬 이미지 사이즈 분류하기

by 코딩하는 금융인 2021. 6. 2.

파이썬 모듈 중에서 이미지 처리 및 분석을 쉽게 할 수 있는 라이브러리 PIL (Python Image Library)의 pillow 모듈이 있습니다. jpg를 포함하여 다양한 이미지 파일 형식을 지원하고 간편한 이미지 처리와 다양한 그래픽 기능을 제공하는 이미지 프로세싱 라이브러리 중 하나입니다.

 

Problem

◈ picture 폴더에 있는 대용량의 사진 파일을 사이즈 기준 (1125 x 2000)으로 분류하기

특정 작업을 위해 사이즈 wide가 1125, height가 2000 미만인 사진들로 구성이 되어야 하는데 이를 하나하나 속성 검색하며 분류하기에는 리소스가 너무 많이 투입되는 문제 발생

이를 해결하기 위해, 파이썬으로 자동화하는 코드 생성

 

<파이썬 코드>

import os
from PIL import Image
import pandas as pd
import re
import shutil
# 1125 * 2000 기준

## 폴더 설정
files = os.listdir("C:/Users/picture/")

## 디렉토리 설정
dir = os.getcwd()

## 폴더 안 파일 사이즈 확인 for문
for i in files:
     j = os.path.join(dir+'/picture',i)
     a = Image.open(j)
     w,h = a.size
     if w < 1125 and h < 2000:
        print(i)

 

먼저, PIL 라이브러리 install

# Terminal에 입력
pip install pillow

- PIL 라이브러리는 특이하게 모듈 설치할 때는 pillow로 설치해야함

 

- 반복문 for문 활용

  1. for문으로 picture 폴더에 있는 이미지 파일 열기
  2. w,h 변수에 a의 wide와 height 사이즈 명시
  3. 분류 조건 - if문으로 분류

조건에 맞는 것들은 따로 리스트화하여서 저장해도 되고 아니면 저처럼 단순 print하여서 메모장에 복사 + 붙여넣기 하시면 됩니다.

 

<예시 파일>

사진 예시.zip
1.49MB

<실행 결과>

# Print Result
2367843_0.jpg
2367844_0.jpg
2367846_0.jpg

 

References
반응형

댓글