우분투 conjure 명령어 완벽 가이드: MSL 이미지 자동화 실습

개요

ImageMagick의 conjure 명령어는 XML 기반의 MSL(Magick Scripting Language) 스크립트를 해석하여 복잡한 이미지 처리 작업을 일괄 자동화하는 도구입니다. 본 글에서는 conjure 패키지 설치부터 MSL 스크립트 작성, 필터 적용, 변수 전달을 통한 배치 자동화까지 실습을 통해 단계별로 살펴봅니다.

ImageMagick 패키지 설치 및 conjure 실행 환경 확인

conjure 명령어 실습을 진행하기 위해 패키지 목록을 갱신하고 imagemagick 패키지를 설치합니다.

apt-get update -qq && apt-get install -y imagemagick

설치된 conjure 실행 바이너리가 시스템 경로(PATH)에 올바르게 위치해 있는지 확인하기 위해 which conjure 명령어를 실행합니다.

which conjure

conjure 명령어는 MSL(Magick Scripting Language) 스크립트를 해석하여 다양한 이미지 처리 및 그래픽 작업을 자동화하는 도구입니다.
-version 옵션을 사용하여 현재 설치된 ImageMagick과 conjure의 세부 버전 정보를 확인합니다.
⚙️ [주요 옵션]

-version : 프로그램의 버전 및 빌드 구성 정보를 출력합니다.
-verbose : 스크립트 실행 과정의 상세한 로그를 출력합니다.
-monitor : 이미지 처리 진행률을 실시간으로 모니터링합니다.
-quiet : 스크립트 실행 중 발생하는 경고 메시지 출력을 숨깁니다.
-regard-warnings : 경고 메시지를 무시하지 않고 실행 상태에 반영합니다.

conjure -version

기본 MSL 스크립트 작성 및 이미지 리사이즈 실행

conjure 실습을 진행할 전용 디렉터리를 생성하고 해당 위치로 이동하기 위해 mkdir -p ~/conjure_demo && cd ~/conjure_demo 명령어를 실행합니다.

mkdir -p ~/conjure_demo && cd ~/conjure_demo

리사이즈 실습에 사용할 400x400 크기의 테스트 이미지를 생성하기 위해 convert -size 400x400 xc:lightblue sample_input.png 명령어를 실행합니다.

convert -size 400x400 xc:lightblue sample_input.png

원본 이미지를 읽어 가로와 세로를 200x200 크기로 줄인 뒤 새 파일로 저장하는 MSL 스크립트를 작성하기 위해 cat 명령어를 실행합니다.

![cat « ‘EOF’ > resize.msl

작성한 MSL 스크립트 파일을 해석하여 이미지 리사이즈 자동화 작업을 수행하기 위해 conjure resize.msl 명령어를 실행합니다.

conjure resize.msl

원본 이미지와 스크립트 실행으로 생성된 이미지의 규격을 조회하여 리사이즈 작업이 정상적으로 완료되었는지 확인하기 위해 identify sample_input.png sample_resized.png 명령어를 실행합니다.

identify sample_input.png sample_resized.png

회전 및 필터 효과를 적용하는 복합 MSL 파이프라인 구성

리사이즈된 이미지에 45도 회전과 차콜 필터 효과를 순차적으로 적용한 뒤 새 파일로 저장하는 MSL 스크립트를 작성하기 위해 cat 명령어를 실행합니다.

![cat « ‘EOF’ > effects.msl

작성한 MSL 스크립트를 해석하여 이미지 회전 및 특수 필터 효과를 적용하는 복합 자동화 작업을 수행하기 위해 conjure effects.msl 명령어를 실행합니다.

conjure effects.msl

효과가 적용되어 새롭게 생성된 결과 파일의 형식과 이미지 파일 정보를 확인하기 위해 file sample_effects.png 명령어를 실행합니다.

file sample_effects.png

-define 옵션을 통한 동적 변수 전달 및 자동화 스크립팅

이미지 크기 수치를 하드코딩하지 않고 %[target_size] 변수를 참조하여 리사이즈하도록 MSL 스크립트를 작성하기 위해 cat 명령어를 실행합니다.

![cat « ‘EOF’ > dynamic.msl

-define 옵션을 통해 target_size 변수에 120x120 값을 동적으로 주입하여 스크립트를 실행하기 위해 conjure -define target_size=120x120 dynamic.msl 명령어를 실행합니다.

conjure -define target_size=120x120 dynamic.msl

동적으로 전달한 변수 값이 올바르게 적용되어 결과 이미지가 의도한 규격으로 생성되었는지 확인하기 위해 identify sample_dynamic.png 명령어를 실행합니다.

identify sample_dynamic.png

지금까지 우분투 환경에서 conjure 명령어를 활용해 MSL 이미지 생성을 자동화하는 실습 과정을 간단하게 살펴보았습니다.
직접 명령어를 적용해 보며 반복적인 이미지 빌드와 관리 작업을 더욱 효율적으로 자동화해 보시기 바랍니다.