Python 콜라주 메이커

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

내가 원한것

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

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

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

Download Link


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

https://www.instagram.com/p/DL7FXpHhV0v/?img_index=1




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

https://www.instagram.com/p/DMN62oVB2Z7/?img_index=1



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 를 누른 후 붙여넣기