無類のモンタージュ好き。(またDIY系)

モンタージュっていうのが正しいのか未だに疑問ですが、よく写真展とかでフィルムの人がやってる、こういうふうに写真を連結して見せる手法ってありますよね。最近、よく真似してやってます。なんか2枚の間に時間の広がりを感じで、グッとくるんですよねえ。

あと白黒もmyブーム。

このモンタージュ化を、毎回Photoshopとかでやるのはバカバカしいので、自作系。
他にも、縦撮りで横2枚(まぁコレと同じか)とか、横撮りで2×2とか、まぁいろいろ作れますが、そこらへんは皆さんやってみてください!
あ、ちなみに、これは2枚の画像のサイズが違うと失敗しちゃうので、そこだけご留意ください。
(自分がいつもRaw現像でサイズ指定しててて問題無いので、このコード内でリサイズ処理はしてないです。。)

まず、前にレターボックス化の時も紹介しましたが、ImageMagickをインストールします。Macの人は、portが利用可能です。

$ sudo port install ImageMagick

その後、下記を実行します。

#!/bin/bash
#
# 2枚の画像を上下に並べて連結
#
# ~$ ./1x2montage.sh 画像1 画像2
#
# 出力ファイルの構成(ファイル名:out.jpg)
#
# 画像1
# 画像2

# 画像1の下辺に白線を付ける
tmp_height=`identify -format %h $1`
width=`identify -format %w $1`
height=`expr ${tmp_height} / 200`
convert -quality 100 $1 -size ${width}x${height} xc:white -append temp1.jpg

#画像1と画像2を縦に連結
convert -append temp1.jpg $2 out.jpg

無類のレターボックス好き(久しぶりにDIY系)

写真や映画の映像とかで、上下に黒い帯がついているのって見た事ないですか?あれは本来、「レターボックス」っていう名前で、アスペクト比の異なる表示規格の間で互換性を得るためのものでした。なので、いわば「レターボックス」という手法は、一種の妥協案なんですが、あの黒い帯によって、ちょっと背景が明るくても色味が綺麗に見えたり、どことなくノスタルジックな雰囲気になったりして、個人的には好きだったりします。

ちょっと例を挙げると、

こちらが普通の縦横比の画像。

そして、こちらがレターボックスによって1:1の縦横比にした画像。

こんな感じです。(モデル:アベ君)

ただ、このようなレターボックスの画像を作る時、いちいちPhotoShopやGIMPなんて起動して手作業でやるのは面倒なので、自作スクリプトからImageMagickというツールを利用して、自動化してみました。

ターミナルやシェルスクリプトをちょっと知っている、MacもしくはUnixユーザの人向きです。(Windowsでも同様なことは当然出来ると思いますが、やる気がおこらなかったので、誰かWindows向けにまとめてもらえると嬉しいです。)

まず、画像の編集などが行えるImageMagickをインストールします。Mac を使っている人は portが利用出来ます。

[shell]
$ sudo port install ImageMagick
[/shell]

その後は、下記のシェルスクリプトを、レターボックス化したい画像ファイルを引数として実行します。しばらくすると、入力ファイル名の先頭に”LB_”が付加された名前で、レターボックス化された画像ファイルが出力されます。

[shell]
#!/bin/bash
#
# letterbox.sh
# 一般的なデジタルカメラのアスペクト比(3:2)の画像を、レターボックスで正方形にする。
#
# 使い方
# ~$ ./letterbox.sh 入力画像ファイル
#

# 入力画像と同じ横幅、1/4の縦幅の、黒い帯画像の生成
width=`identify -format %w $1`
tmp_h=` identify -format %h $1`
height=`expr ${tmp_h} / 4`
convert -size ${width}x${height} xc:black black_line.jpg

# 画像の下辺に黒い帯をつける
convert -quality 100 $1 black_line.jpg -append temp.jpg

# 画像の上辺に黒い帯をつけて、入力ファイル名の先頭に"LB_"をつけて出力する
convert -quality 100 black_line.jpg temp.jpg -append "LB_${1}"

# 一時ファイルを削除
rm black_line.jpg
rm temp.jpg
[/shell]

関係無いですが、こういうシェルがサクっと書ける・利用出来るってのも、Macの良いところかもしれないですね。Windowsだとなかなかやる気が、、、(結局やる気の問題)

P.S.

今回の作業中に、ImageMagickについて少し調べましたが、今流行のハイダイナミックレンジ周りもサポートしてるみたいですね!ほんと多機能なツールで、しかもコマンドラインから利用可能なので、ばしばしシェルを書いて効率よく使い倒したいところです。