imagemagick で 機械的に写真を加工する

imagemagickツール
Photo by Stanislav Kondratiev on Unsplash

imagemagick のちょっとした使い方を Sagasoon.

私の場合、写真を加工する際は、Adobe製品を使ったりフリーのgimpを使ったりします。
普段のブログや写真編集なんかは、gimpでしょうか。
フライヤー的なものを作る時は、 Adobe製品に頼る感じです。

ただ、毎回同じことをするような加工であれば、出来るだけ機械的にやりたいですよね。
例えば、ご自身のコピーライトを入れたりするとか。写真に日付を入れるとか。はたまた、透かしを入れるとか。

そんな機械的な処理をしたい時、私は imagemagick というツールを使います。

imagemagickをインストールする

私が使っているサーバには、imagemagick が入っているので、それを使ってます。
もし、パソコンに入れたい場合は、こちらからexeファイルをダウンロードしてください。

ImageMagick
Create, Edit, Compose, or Convert Digital Images

インストールは、ダウンロードしたファイルをダブルクリックして「Next」を連打していけばOKですよ。最後は[Done」で。
インストール後は再起動してあげてください。

機械的に写真を加工する

今回はこんな加工を機械的にすることを考えます。

  • 自分の著作文字を写真に入れる
  • 自分のロゴを写真に入れる

順番にやってみますね。

機械的に写真に文字を入れる

たとえば、文字を入れたい場合、

convert photo.jpg -pointsize 32 -fill white -annotate +10+10 "Hello" output.jpg

ってしますと

photo.jpg の写真の上に「Hello」という文字を白文字で描き、結果をoutput.jpg というファイルに書き出す

っていう感じです。
他のオプションの値を説明すると

  • +10+10 とあるのは、x座標10、y座標10に文字を描いてね
  • -pointsize 32 とあるのは、文字サイズ32で描いてね

って感じです。

透かしを入れる

自分の著作を入れたりする際、自分のロゴを入れたりしたい時ありますよね。
透かしにして入れたり。
今回は、logo.png を自分の写真 photo.jpg に入れるとして進めます。
直球。簡単です。

convert -composite photo.jpg logo.png output.jpg

こうすると、

logo.png を自分の写真 photo.jpg に入れ、output.jpg に結果を書き出してくれます

文字を入れて、透かしも入れる

今、2つの処理をみてきましたが、これらを機械的に一気にやりたい場合はどうするか?ですね。

  • 文字を入れて
  • 透かしを入れる

って感じです。
余裕ですよー。

convert photo.jpg -pointsize 32 -fill white -annotate +10+10 "Hello" pre_output.jpg
convert -composite pre_output.jpg logo.png output.jpg

1回目の文字出力した写真pre_output.jpg をもとにして、その上に 透かしのロゴ logo.png を重ねればいいだけですね。

参考

bash等、慣れている方は、こんな感じですかね。

tool.sh

#!/bin/sh
convert $1 -pointsize 32 -fill white -annotate +10+10 "Hello" pre_$2
convert -composite pre_$2 logo.png $2

実行は、こんな感じで。

tool.sh photo.jpg output.jpg
探太郎

今すぐ探そう Sagasoon の記事を書いてます。探太郎です。
ご飯の時、無口になりますが、機嫌が悪いんじゃなくて食べるのに忙しいだけですー。
あと、なんか記事のネタないかなーと探してるからかもしれませんー。
よろしくお願いします。

探太郎をフォローする
ツール IT
探太郎をフォローする
SAGASOON

コメント

タイトルとURLをコピーしました