IT기타

이미지 파일 여러개를 하나의 이미지로 만들기

emilyyoo 2025. 3. 12. 00:29
728x90
반응형
 

내 경우, 이미지 두 개를 가로로 이어붙여서 하나의 PNG 파일로 만들어야 했다.


🛠 방법 1: ImageMagick (터미널)

터미널에서 ImageMagick을 사용하면 한 줄로 해결 가능.
먼저 Homebrew를 통해 설치해야 한다

1️⃣ ImageMagick 설치 (한 번만 하면 됨)

brew install imagemagick

2️⃣ 가로로 이어붙이기

magick +append "1-29.png" "1-40.png" "merged.png"

 

✅ image1.png와 image2.png를 가로로 이어서 output.png로 저장
✅ +append 옵션을 사용하면 가로로 병합, -append를 쓰면 세로로 병합
✅ 여러 개 파일도 가능 : 위의 경우는 경로가 해당경로일 경우고 아래는 경로가 다를 경우다.

magick +append ../Images/1-29.png ../Images/1-40.png ../Images/2940.png

🛠 방법 2: Python (PIL 사용)

Python을 사용하면 더 확장성 있게 처리 가능하다.

Python 코드

from PIL import Image

# 이미지 파일 불러오기
img1 = Image.open("image1.png")
img2 = Image.open("image2.png")

# 새로운 이미지 크기 계산 (가로 합치기)
new_width = img1.width + img2.width
new_height = max(img1.height, img2.height)  # 가장 높은 이미지 높이에 맞춤

# 새 캔버스 생성
new_img = Image.new("RGBA", (new_width, new_height), (255, 255, 255, 0))

# 이미지 붙이기
new_img.paste(img1, (0, 0))
new_img.paste(img2, (img1.width, 0))

# 저장
new_img.save("output.png")

print("이미지 병합 완료: output.png")
 

✅ Image.new("RGBA", (새로운 가로, 최대 세로), (255,255,255,0)) → 투명 배경
✅ .paste(img1, (0,0)) → 왼쪽에 첫 번째 이미지
✅ .paste(img2, (img1.width, 0)) → 오른쪽에 두 번째 이미지


💡 어떤 방법이 적합할까?

  • 터미널에서 빠르게 실행하려면 → convert +append (ImageMagick)
  • Python으로 자동화하거나 추가 조작이 필요하면 → PIL 사용

 

728x90
반응형