
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
or etc。コマンドを使用してconvert
写真から「透かし」を切り取る方法です。
助けてくれてありがとう。
答え1
ImageMagickを使用できます。- マグカットオプションの組み合わせ-重力各画像の下部から20ピクセルを削除するように設定します。
トリミングした画像をディレクトリに保存するには、次のようにresults
実行できます。
mkdir -p results
watermarkheight=20
for photo in *.jpg; do
convert "$photo" -gravity South -chop 0x"$watermarkheight" ./results/"$photo"
done
関連:
- 行、列、エッジの切り取り、削除(ImageMagick v6の例 - カットとボーダー)