개요
우분투 환경에서 대량의 이미지를 다룰 때 터미널 기반의 convert 명령어는 뛰어난 작업 효율을 제공합니다. ImageMagick의 핵심 도구인 convert의 설치부터 주요 옵션별 실행 결과와 이미지 변환 방법을 단계별로 살펴봅니다.
ImageMagick 설치 및 이미지 포맷 변환
ImageMagick 실습을 진행하기 위해 apt-get update -qq && apt-get install -y imagemagick 명령어로 패키지를 설치합니다.

convert 명령어는 이미지 포맷 변환, 크기 조정, 회전 등 다양한 그래픽 처리를 지원하는 ImageMagick의 핵심 도구입니다.
설치된 ImageMagick의 버전 및 빌드 정보를 확인하기 위해 convert -version | head -n 2 명령어를 실행합니다.
⚙️ [주요 옵션]
-resize : 이미지의 해상도 크기를 비율 유지 또는 사용자 지정 크기로 변경합니다.-quality : 이미지 압축 품질(1~100)을 설정하여 용량과 화질을 조절합니다.-rotate : 이미지를 지정한 각도만큼 시계 방향으로 회전합니다.-crop : 이미지에서 원하는 영역의 크기와 좌표를 지정하여 잘라냅니다.-size : 새로운 캔버스나 배경 이미지를 생성할 때 가로x세로 크기를 지정합니다.

실습에 사용할 샘플 이미지를 준비하기 위해 -size 300x200 옵션과 xc:steelblue 단색 캔버스를 지정하여 input.png 이미지를 생성합니다.

생성된 PNG 이미지를 JPG 형식으로 변환하기 위해 convert input.png output.jpg 명령어를 실행합니다.
ImageMagick은 출력 파일의 확장자를 감지하여 해당 이미지 포맷 규격에 맞춰 자동으로 인코딩을 진행합니다.

input.png와 output.jpg 파일의 실제 포맷 형식과 해상도 정보가 정상적으로 변환되었는지 확인하기 위해 file 명령어를 실행합니다.

이미지 해상도 및 비율 리사이즈 (-resize)
원본 이미지의 가로와 세로 해상도를 특정 픽셀 크기로 조정하기 위해 -resize 150x100 옵션을 지정하여 변환을 수행합니다.
ImageMagick은 원본 이미지의 가로세로 비율을 유지하면서 지정된 크기 범위 내에 맞게 리사이즈를 진행합니다.

픽셀 단위 대신 퍼센트 비율을 기준으로 이미지 크기를 축소하기 위해 -resize 50% 옵션을 실행합니다.
원본 해상도의 50% 크기로 가로와 세로 비율이 균등하게 줄어든 이미지 파일이 생성됩니다.

리사이즈 작업이 적용된 파일들의 해상도와 포맷 정보를 비교 확인하기 위해 identify 명령어를 실행합니다.
각 이미지 파일의 파일명, 포맷 규격, 가로x세로 픽셀 크기 및 색상 깊이 정보를 출력하여 크기 변경 결과를 검증합니다.

이미지 회전 및 상하좌우 반전 (-rotate, -flip, -flop)
원본 이미지를 시계 방향으로 90도 회전하기 위해 -rotate 90 옵션을 사용하여 변환을 수행합니다.
90도 회전이 적용되면서 기존 이미지의 가로와 세로 해상도 크기가 서로 맞바뀐 새로운 파일이 생성됩니다.

이미지를 수직 방향인 상하로 뒤집기 위해 -flip 옵션을 실행합니다.
해상도 크기는 그대로 유지되면서 이미지의 위아래 픽셀 위치가 반전된 결과물이 생성됩니다.

이미지를 수평 방향인 좌우로 뒤집기 위해 -flop 옵션을 지정하여 변환을 진행합니다.
거울에 비친 것처럼 이미지의 좌우 방향만 대칭으로 반전된 결과 파일이 저장됩니다.

회전 및 반전 처리가 완료된 이미지 파일들의 규격 정보를 확인하기 위해 identify 명령어를 실행합니다.
90도 회전으로 인해 변경된 해상도 규격(200x300)과 원본 크기(300x200)를 유지한 상하좌우 반전 파일들의 상세 속성을 비교 검증합니다.

흑백 색상 변환 및 용량 압축 (-colorspace, -quality)
컬러 이미지를 흑백 톤으로 변경하기 위해 -colorspace Gray 옵션을 지정하여 변환을 수행합니다.
RGB 색상 채널이 제거되고 단일 그레이스케일 색상 영역으로 변환된 흑백 이미지 파일이 생성됩니다.

이미지의 압축 품질을 조절하여 파일 용량을 줄이기 위해 -quality 30 옵션을 지정하여 변환을 진행합니다.
품질 수치를 낮춤으로써 이미지의 화질은 다소 감소하지만 저장 용량을 대폭 최적화한 압축 파일이 생성됩니다.

압축 품질 설정 전후의 실제 파일 크기 차이를 비교하기 위해 ls -lh output.jpg compressed.jpg 명령어를 실행합니다.
기본 품질로 저장된 원본 파일과 품질을 30으로 낮춘 파일의 용량 변화를 사람이 읽기 쉬운 단위로 확인합니다.

각 이미지 파일에 적용된 실제 압축 품질 수치를 확인하기 위해 -format "%f: Quality %Q\n" 포맷 옵션을 지정하여 identify 명령어를 실행합니다.
이미지 메타데이터에 기록된 고유 품질 계수(%Q) 값을 추출하여 지정한 압축 설정이 정상적으로 적용되었는지 검증합니다.

지금까지 우분투 환경에서 ImageMagick convert 명령어의 주요 옵션별 실무 활용법을 간단하게 살펴보았습니다.
자주 쓰는 옵션을 조합해 쉘 스크립트나 배치 작업에 적용하여 이미지 처리 업무를 한층 더 효율화해보시기 바랍니다.