今までのスクリプトは画像ファイル名を手入力で一枚ずつの処理だった。
そこで、フォルダ内の画像をリスト化して画像名を自動で読ませて、連続処理する方法に改良した。
作業環境はubuntu11.10、pfstools、GraphicsMagick、ImageMagickインストール。
フォルダ内にHDRiにしたい画像を集める。
空のリストファイルを作る。名前はphotolist.txt。
画像名のリストをリストファイルに書き込む。
ターミナルから入力
$ cat photolist.txt
カシオのデジカメの画像なので、CIMG*.JPG
$ ls CIM*.JPG >photolist.txt
自動化スクリプトを実行。ファイル名はhdr.sh
$ sh hdr.sh photolist.txt
以下はhdr.shの内容(ゴミコードが残っているけれど気にしない)
- #!/bin/sh
- exec 3< $1
- while read FL 0<&3
- do
- FILE_NAME=$FL
- gm convert $FILE_NAME enfuse.png
- gm convert enfuse.png -colorspace Gray enfuse_Gray.png
- mogrify -negate enfuse_Gray.png
- gm mogrify -gaussian-blur 10 enfuse_Gray.png
- convert enfuse.png enfuse_Gray.png -compose Overlay
-composite cheap.png - No_A=enfuse.png
- TDAY=`date +%Y%m%d%H%M`
- gm convert $No_A -resize 100% enfuse.png
- pfsin enfuse.png|pfstmo_fattal02|pfsgamma --gamma 1.8 | pfsout
Fattal.png - pfsin enfuse.png|pfstmo_mantiuk06 -e 0.1 -s 0| pfsout Mantiuk.png
- mogrify Mantiuk.png -equalize
- pfsin enfuse.png| pfstmo_drago03 | pfsout Drago.png
- gm convert Fattal.png -colorspace Gray Fattal_Gray.png
- mogrify Fattal_Gray.png -background white -flatten +matte
- gm convert Drago.png -colorspace Gray Drago_Gray.png
- mogrify Fattal_Gray.png -background white -flatten +matte
- convert Fattal.png -alpha off Fattal_Gray.png -compose
copyopacity -composite F.png - convert Drago.png -alpha off Drago_Gray.png -compose copyopacity
-composite D.png - convert enfuse.png D.png -compose Overlay
-composite E_D.png - composite F.png E_D.png E_D_F.png
- convert E_D_F.png Mantiuk.png -compose soft-light
-composite E_D_F_M.png - mogrify -normalize E_D_F_M.png
- gm convert E_D_F_M.png cheapHDR`date +%Y%m%d%H%M`.jpg
- enfuse.png Mantiuk.png Drago.png Fattal.png Drago_Gray.png
Fattal_Gray.png F.png D.png E_D.png E_D_F.png E_D_F_M.png DEq.png
DEq_Gray.png Deq.png FEq.png FEq_Gray.png E_D_F_MDeq.png Feq.png - rm E_D_F_MDeqFeq.png
- done
- exec 3<&-
- IFS=$BUFIFS
モノクロ撮影モードの画像もイケルことがわかった。
去年の旅行のときHDRi処理前提で、もっと撮影するべきだった。