如何使用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 

我需要知道的是如何使用mogrify或等命令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

有关的:

相关内容