리눅스

imagemagick - 이미지 크롭(crop)

반달가면 2025. 6. 10. 22:25

리눅스에서 imagemagick을 이용해서 이미지의 일부를 가져와 별도의 파일로 저장할 수 있다. 먼저 imagemagick 패키지를 설치하자. 데비안/우분투 계열 기준으로 터미널창에서 아래와 같이 진행하면 되겠다.

sudo apt update


sudo apt install imagemagick

이미지 처리 명령은 convert이고 -crop 옵션을 이용해서 이미지를 크롭한다. 예를 들어 1024x1024픽셀 크기의 이미지 my_img.jpg 파일이 있다고 생각해 보자. 크롭할 영역의 크기와 크롭할 기준점(오프셋, offset) 위치를 지정해 주어야 한다. 영역 크기는 400x300 이런 식으로 픽셀 단위로 지정하면 된다. 기준점 위치는 이미지의 맨 왼쪽 최상단이 +0+0이다. 맨 왼쪽 최상단을 기준으로 400x300픽셀을 크롭해서 output.jpg 파일로 저장한다면 아래와 같이 할 수 있다.

convert my_img.jpg -crop 400x300+0+0 output.jpg

만약 기준점을 맨 왼쪽으로부터 오른쪽으로 100픽셀 떨어지고 맨 위로부터 아래쪽으로 200픽셀 떨어진 지점을 기준으로 크롭한다면 아래와 같이 될 것이다.

convert my_img.jpg -crop 400x300+100+200 output.jpg

이미지가 gif, png 등 형식일 경우 가상 캔버스(virtual canvas) 정보가 포함될 수 있어서 크롭할 때 크롭된 부분을 기준으로 캔버스 정보를 재설정하기 위해 +repage 옵션을 추가해야 한다는데, 이미지 파일 형식에 대해 자세히 모르기 때문에 정확이 어떤 의미인지는 모르겠다. 아무튼 개인적으로는 형식과 무관하게 그냥 +repage 옵션을 추가하는 편이다.

convert my_img.jpg -crop 400x300+100+200 +repage output.jpg

728x90