ImageMagick의 자르기를 사용하여 "워터마크"를 제거하는 방법

ImageMagick의 자르기를 사용하여 "워터마크"를 제거하는 방법

ImageMagick의 명령줄 유틸리티를 사용하여 여러 이미지를 자르고 하단의 워터마크를 제거하려면 어떻게 해야 합니까?

문맥

저는 가족을 위해 사진을 게시하는 개인 웹사이트를 운영하고 있습니다. 가족 중 한 명이 휴대폰으로 여러 장의 사진을 찍었습니다. 각 사진에는 날짜, 휴대폰 소유자 이름, 휴대폰 모델 등의 텍스트가 포함되어 있습니다. 온라인에 게시하기 전에 이 정보를 잘라내기 위해 사진을 자르고 싶습니다.

이 정보는 사진 하단에 있으며 모든 사진에서 동일한 높이를 차지하므로 다음과 같은 스크립트를 작성해야 합니다.

watermarkheight=20 # just a an example
for photo in *.jpg; do
  dimensions=$(identify $photo | awk '{ print $3 }') # it will be like 600x400, width X height
  height=${dimensions#*x}
  width=${dimensions%x*}
  newheight=$(( height - watermarketheight ))
  # i need help with line below
  someCommandToCropTheHeight --width $width --height $height --file $photo
done 

내가 알아야 할 것은 mogrifyor etc. 명령을 사용하여 convert사진에서 "워터마크"를 자르는 방법입니다.

도움을 주시면 감사하겠습니다.

답변1

ImageMagick을 사용할 수 있습니다.-마구 자르기옵션 조합-중력각 이미지의 하단에서 20px를 제거하도록 설정합니다.

자른 이미지를 디렉터리에 저장하려면 다음을 results실행할 수 있습니다.

mkdir -p results
watermarkheight=20
for photo in *.jpg; do
  convert "$photo" -gravity South -chop 0x"$watermarkheight" ./results/"$photo"
done

관련된:

관련 정보