μμ
μ νλ¦(λ°κΈ° Β· κ°μ½ Β· μλμ§)μ λ°λΌ
μ΄λ―Έμ§μ ν¬κΈ° Β· μ±λ Β· νμ Β· ν¬λͺ
λκ° λμ μΌλ‘ λ³ννλ©°
OpenCV κΈ°λ° λ μ΄μ΄ λ°©μμΌλ‘ μμ
κΈ°λ° μ½λΌμ£Ό μνΈμν¬λ₯Ό μμ±νλ μμ§μ
λλ€.
μ΄ νλ‘μ νΈλ μμ
μ 0.5μ΄ λ¨μλ‘ λΆν ν λ€
κ° κ΅¬κ°μ spectral brightness / energy / tempoλ₯Ό λΆμνμ¬
μ΄λ―Έμ§μ μκ°μ μμ±μ λ³νμν€λ λ°©μμΌλ‘
μμ
μ κ°μ μ κ³Ό νλ¦μ μκ°μ μΌλ‘ ννν μ½λΌμ£Όλ₯Ό μμ±ν©λλ€.
- Python 3
- OpenCV β μ΄λ―Έμ§ λ³ν Β· νμ Β· λΈλ λ©
- NumPy β μμΉ μ°μ°
- Librosa β μ€λμ€ λ°κΈ° & μλμ§ λΆμ
- Random β μμΉ, ν¬κΈ°, νμ κ° μμ±
src/
main.py # μμ§ μ€ν νμΌ
audio.py # μ€λμ€ λΆμ(λ°κΈ°/μλμ§)
image.py # μ΄λ―Έμ§ λ‘λ + λ°λ³΅ λ‘λ©
scaling.py # brightness β scale λ³ν
collage.py # λ μ΄μ΄ κΈ°λ° μ½λΌμ£Ό μμ±
rotate.py # κ²°κ³Ό μ΄λ―Έμ§ νμ UI
data/
images/ # μ
λ ₯ μ΄λ―Έμ§
music/ # μ
λ ₯ μμ
results/
collage_preview.jpg # ν리뷰
collage_final.jpg # μ΅μ’
κ²°κ³Όλ¬Ό
- μμ μ 0.5μ΄ λ¨μλ‘ λΆν
- spectral centroid κΈ°λ° brightness κ³μ°
- energy & tempo λΆμ
- 240κ° segmentλ‘ μ κ·ν
- λͺ¨λ μ΄λ―Έμ§λ₯Ό μ§μ ν¬κΈ°λ‘ 리μ¬μ΄μ¦
- λΆμ‘±νλ©΄ μμ°¨ λ°λ³΅νμ¬ μ΄ 240μ₯ ν보
- brightnessλ₯Ό 0~1λ‘ μ κ·ν
- μ€μΌμΌ 0.7 ~ 1.8 λ§€ν
- μ΄λ―Έμ§ ν¬κΈ° Β· μ±λ Β· ν¬λͺ λ λ°μ
κ° μ΄λ―Έμ§μ λν΄ λ€μ ν¨κ³Ό μ μ©:
- ν¬κΈ° μ‘°μ
- μ±λ μ‘°μ
- λλ€ νμ
- λλ€ μμΉ λ°°μΉ
- Ξ±-λΈλ λ©
μμ μ κ°μ νλ¦μ λ μ΄μ΄ κ΅¬μ‘°λ‘ μκ°μ μΌλ‘ ννν©λλ€.
results/
collage_final.jpg
python src/main.pyμμ
μ λ°κΈ°, μλμ§, 리λ¬μ κΈ°λ°νμ¬
λμ μΌλ‘ λ³ννλ μκ°μ μ½λΌμ£Ό μνΈμν¬λ₯Ό μμ±νλ κ²μ΄ λͺ©νμ
λλ€.
- λ€μν μ€λμ€ νΉμ§ μΆκ° (MFCC, beat tracking λ±)
- μ΄λ―Έμ§ μ€μ²© κ·μΉ κ°μ
- λ λλ§ μλ μ΅μ ν
- GUI κΈ°λ° μ€μκ° μνΈμν¬ μμ±
This project was developed for the μμμ²λ¦¬ νλ‘κ·Έλλ° course.
