본문 바로가기

자료

ImageMagick 으로 다량의 이미지의 확장자 바꾸기

한줄요약 : mogrify -format 목적확장자 *.원래확장자

버전 7 이후: magick mogrify -format 목적확장자 *.원래확장자


ImageMagick 로고ImageMagick 로고

다량의 이미지의 확장자를 바꾸는 일은 쉬울 거 같은 방법을 택한다면 오히려 굉장히 손이 많이 가는 작업입니다. 그림판을 열어서 다른 이름으로 저장을 누르고 확장자를 바꿔서 저장하고... 이걸 100번, 아니 1000번 한다고 생각해보세요. 으으... 그렇다고 그 용량많은 bmp 를 그냥 놔둘수는 없죠. (아 참, jpg 파일로 바꾸면 보통 화질이 손상되니까[각주:1] bmp 에서는 바꾸지 마세요. png 권장! 그렇다고 jpg 에서 png로 바꾸는 것도 무의미합니다.)

반면, 특정 규칙에 따라 자동으로 변환해주는 툴이 있다면 얼마나 좋을까요. 근데 그게 여기 있네요? ImageMagick 이죠. 단지, 마우스 환경이 아니라 명령어 창을 열어서 적어야 된다는게 흠이지만요. 그래도 광고 같은 쓸데없는 게 전혀 붙지 않는다는 보장이 있잖아요? 이 프로그램은 나름 유명한 프로그램이니까요.

설치

공식 홈페이지 어딘가에 적당히 Binary Release 부분 중 운영체제에 맞는 걸 다운받아서 설치하세요. 전 Windows 였고 대부분의 여러분들이 그럴겁니다. Mac 이나 Linux 쓰시는 분들은 뭐 이 정도야 금방 하실테고요. (우분투 / 데비안 유저분들은 이미 apt-get 쓰고 계시겠죠.)

모르시겠으면 아래 저거 받으세요. 설치는 직접!


명령어 창 열기

이 참에 명령어 창에 익숙해져보세요. 이런 방식의 프로그램 실행도 때론 굉장히 편하답니다. 맥 / 리눅스 유저는 설명해드릴 필요 없을테고요,

켜는 방법은 크게 두 가지 정도네요. 하나는 윈도우키 + R, 다른 하나는 시작 버튼에 마우스 우 클릭 → 실행 (R) 클릭 이군요.

시작버튼 우클릭 → 실행(R)시작버튼 우클릭 → 실행(R)

실행 창실행 창

이 창에서는 명령어로 프로그램을 실행할 수 있어요. 우리는 명령어 창을 띄울거니까 cmd 를 넣고 실행해볼까요.


헉 나왔다

이렇게 생긴 창이 나와야해요. 물론 저기 줄에 적힌 내용은 달라질 수 있어요. 아, ImageMagick의 설치는 끝내고 오신 거 맞죠?


폴더 이동

명령어를 치기 전에 현재 보고 있는 폴더를 변환하고 싶은 파일들이 있는 곳으로 바꿔줘야해요. 저~기 이 부분 보이시죠? 이 부분이 현재 경로에요.

이것이 현재 경로이것이 현재 경로

이제 타이핑을 하면 저기 있는 깜빡이는 밑줄이 있는데에 써질거에요. 일단 탐색기에서 원하는 폴더를 열고요... 귀찮으니까요. 복사해둘게요. (Ctrl + C)


이제 경로 변경을 할 건데요, cd 라는 명령어를 쓸 거에요. 경로 변경 (Change Directory) 의 약자 정도로 기억하시면 쉽습니다. 옵션으로 /d 를 줄거에요. 종종 드라이브가 다르면 안 바뀌는 경우가 있으니까요.


이제 붙여넣으면 되는데... 여기에서는 Ctrl + V 가 안 먹으니까 주의해주세요. 마우스 우 클릭 → 붙여넣기!

아 참, 혹시 경로에 빈 칸이 있으면 쌍따옴표료 감싸주세요. "E:\Pictures\Camera Roll" 없으셔도 감싸도 됩니다.

cd /d cd /d "경로"

짜잔~ 경로 바뀜!짜잔~ 경로 바뀜!

짜잔~

덧붙이자면 명령어의 사용법이 궁금하시면 help 명령어 치시면 나와요. 명령어 목록이 보고싶으시면 help 만 치시면 됩니다. 도움!

도움말도움말


확장자 바꾸기

이제 드디어 ImageMagick 을 실행할 때가 왔군요!

사실 저기서 이렇게 쓰면 돼요. 어차피 모든 파일을 바꿀거니까 * 기호를 쓰면 되고요, 그러니까 * 기호는 모든 문자열을 나타내는 기호에요. 뭘 쓰던 * 로 나타낼 수 있죠. 원본 파일들의 확장자가 bmp 라고 가정해볼게요. 그럼 *.bmp 라고 쓰면 그 경로에 있는 모든 bmp 파일들을 의미합니다. 이런 걸 와일드카드라고 합니다.

저도 사실 인터넷을 검색해봤는데요, ImageMagick이 제공해주는 여러 프로그램 중 mogrify 라는 프로그램[각주:2]을 쓰면 된대요. 사실 convert 라는 프로그램이 따로 있긴 한데요, 얘로는 * 같은 규칙적인 표현을 못 쓴다더군요.

아무튼. mogrify 프로그램에 옵션 -format 확장자명 을 붙여서 쓰시면 됩니다. 여기선 bmp 에서 png 로 바꾼다고 가정해볼게요.

※추가: 최근 버전 (v7)의 imageMagick에는 프로그램들이 magick 으로 통합되어서, 앞에 magick을 덧붙여 써야합니다.

mogrify -format png *.bmp
버전 7: magick (나머지는 위와 동일)

실행완료!실행완료!

[각주:3]

이렇게 명령어창이 다시 나타나면 완료! 이제 필요없는 원본 파일들을 탐색기에서 지우시면 됩니다. del 명령어를 쓰셔도 되고요.

del *.bmp

del 명령어의 도움말del 명령어의 도움말

덧붙이자면 프로그램을 실행할 때 윈도우즈에서는 /옵션 을 잘 쓰고, 리눅스에서는 -옵션 을 잘 써요. 그래서 아까 cd를 쓸 때에는 cd /d 였던거고, 여기선 mogrify -format png *.bmp 였던거에요.



  1. 이런 걸 손실압축이라고 합니다. 내용이 어느정도 눈치 못 채게 손상되는 대신 용량이 크게 줄죠. [본문으로]
  2. 편의상 프로그램 이라는 표현을 썼습니다. 이해바랍니다. [본문으로]
  3. 수정 : 이미지의 명령어가 잘못되어 고쳤습니다. [본문으로]