Python 콜라주 메이커

이번 여행때 사진 징그럽게 많이 찍었거든.. 결과물이 좋긴 한데 이걸 어떻게 정리하지? 하다가 만들게 됨.

✦ 내가 원한것

‘300장 이상’ 가로형 디카 사진 원본.
분위기별로 인식해서 콜라주 자동으로 할 수 없나?? – 요즘 자주 보이는 갬성st
인스타 업로드 비율 위해 여백 추가
(중요) 무료에 노다가 필요없는 자동화

처음엔 시중 사진 편집 프로그램을 추천해줬는데 원하는건 없었고 결국 파이썬으로 해결. perplexity+gemini 가 만들어줌  omg 정말 편한 세상이야

셔플/무드별 둘 다 매력있는 사진이 나온다. 한번에 100개 정도 돌려서 그중에서 선별함. 앞으로도 유용하게 쓸 듯하다. 혹시 필요한 사람을 위해 공유

Download

Ver1 (2×2)
2x2_mood.py 무드별

Ver2 (1×2)
mood_4/5_W.py 무드별 4:5 (화이트여백)
mood_4/5.py 무드별 4:5
suffle_4/5.py 무작위 셔플 4:5

올릴예정

Ver3 (2×3)
2x3_mood_4/5.py 무드별


✦ 님들이 하실거

# 설치
pip install numpy scikit-learn

# 사용 전 설정
사진 폴더 경로 변경
생성 이미지 개수 설정
비율 등 커스텀

# 설정 팁
– INDIVIDUAL_IMAGE_TARGET_WIDTH: 1080
– INSTA_FINAL_CANVAS_SIZE: 1080 x 1350 (4:5 비율)
– num_color_mood_clusters: 기본값 5 (무드 그룹 수)

# 참고 
원본 사이즈:  3968 × 2976px (4:3)
리사이징 이미지: 1080 × 1350px (4:5) 혹은 1080x810px (4:3)도 가능
코드만 살짝 수정하면 아래처럼 세로형 이미지등 무궁무진하게 커스텀 가능!!



——

핵심 아이디어

  1. 모든 이미지의 색상 특징 추출: gems 폴더 내의 모든 이미지에서 대표적인 색상 특징(예: 평균 RGB 값)을 추출합니다.

  2. 색상 특징 기반 클러스터링: 추출된 색상 특징을 이용하여 K-Means 알고리즘으로 이미지들을 몇 개의 ‘분위기’ 그룹으로 나눕니다. 예를 들어, 5개의 그룹으로 나누면 밝은 톤, 어두운 톤, 따뜻한 톤, 차가운 톤, 녹색 톤 등 5가지 유형의 이미지 그룹이 생길 수 있습니다.
    num_color_mood_clusters = 5: 이미지들을 몇 개의 ‘분위기’ 그룹으로 나눌지 설정합니다. 이 숫자를 조절하여 그룹의 세분화를 변경할 수 있습니다. (예: 3은 매우 큰 그룹, 7은 좀 더 세분화된 그룹)

  3. 그룹별 이미지 선택: 이제 2장씩 세로로 합쳐질 이미지를 선택할 때, 먼저 어떤 ‘분위기’ 그룹에서 뽑을지 무작위로 선택한 후, 해당 그룹에 속한 이미지들 중에서 2장을 선택하여 합치는 방식입니다. 이렇게 하면 만들어지는 각 스택 이미지는 동일한 색감/온도 분위기를 가지게 됩니다.


——

Finder에서 경로 확인하기 (맥)

  • 폴더가 선택된 상태에서, Command + Option + C 를 누른 후 붙여넣기

comments

답글 남기기