본문 바로가기

imagemagick으로 사진 연결하기

기술적인 이야기/잡다한 기술적인 이야기 2023. 5. 20.
반응형

사진이나 이미지를 가로로 혹은 세로로 연결해서 붙이는 방법을 알아보자. 참고로 Linux나 macOS 뿐만 아니라 imagemagick을 쓸 수 있는 모든 OS에서 쓸 수 있다.

우선 imagemagick이 설치되어 있다 가정한다. 없으면 설치하면 된다. 내 경우 macOS에서 Homebrew를 쓰고 있어서 아래와 같은 방법으로 설치했었다.

brew install imagemagick

다른 패키지 매니저를 쓴다면 해당 매니저를 이용해 설치하자.

imagemagick으로 이미지 파일 연결하기

imagemagick에 들어있는 convert 유틸리티는 다양한 옵션을 제공하는데 여기서 append 옵션을 사용하면 여러 이미지를 하나의 이미지로 연결해서 합칠 수 있다.

append 옵션은 특이하게도 prefix에 따라 배치 방향이 달라진다. 예를 들어 -append 옵션을 사용하면 이미지를 세로로 위에서 아래로 연결해서 붙일 수 있다.

convert -append 1.png 2.png 3.png output.png

위 커맨드는 1.png, 2.png, 3.png 세 개의 이미지를 세로 방향으로 연결해 output.png라는 파일에 합쳐준다.

-append 예제

위처럼 세로로 연결할 때는 좌측에 붙어서 정렬된다. 딱 맞추고 싶다면 폭(width)을 미리 맞춰두면 될 것 같다.

위와 다르게 +append 옵션을 사용하면 이미지를 가로로 왼쪽에서 오른쪽으로 연결해서 붙일 수도 있다.

convert +append 1.png 2.png 3.png output.png

위 커맨드는 역시 1.png, 2.png, 3.png 세 개의 이미지를 가로 방향으로 연결해 output.png 라는 파일에 합쳐준다.

+append 예제

가로로 붙이는 경우에는 위쪽으로 정렬된다. 역시 딱 맞추고 싶다면 높이(height)를 미리 동일하게 맞춰놓고 시작하면 될 것 같다.

사족

그럼 "아래에서 위로 혹은 오른쪽에서 왼쪽으로 붙이는 옵션은 없냐"고 물어볼 수 있는데, 그냥 붙이는 순서를 바꾸면 해결되니 딱히 몰라도 될 것 같다.

물론 CLI 등이 싫다면 미리보기 앱 등에서도 수작업으로 할 수 있다. 대부분의 이미지 편집 툴은 캔버스 크기 조정을 지원하니 원하는 대로 캔버스를 키워서 여백을 만들고 원하는 이미지를 여백에 복사해서 붙여 넣으면 된다. 개인적으론 GUI 툴이 비교도 안 되게 너무 귀찮아서 CLI 커맨드를 더 추천하고 싶지만 말이다.

이외에도 위에서 이야기한 정렬 문제나 크기 맞추기 등 몇몇 추가 기능을 쓸 수도 있긴 한데 글이 길어질 것 같아서 다른 글에서 추가로 글을 쓸 예정이다.

728x90
반응형

댓글