2012年2月26日日曜日

一枚の画像からHDRiの自動作成スクリプト・フォルダ内連続処理法









今までのスクリプトは画像ファイル名を手入力で一枚ずつの処理だった。
そこで、フォルダ内の画像をリスト化して画像名を自動で読ませて、連続処理する方法に改良した。


作業環境は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の内容(ゴミコードが残っているけれど気にしない)



  1. #!/bin/sh


  2. exec 3< $1

  3. while read FL 0<&3

  4. do

  5. FILE_NAME=$FL

  6. gm convert $FILE_NAME enfuse.png

  7. gm convert  enfuse.png -colorspace Gray enfuse_Gray.png

  8. mogrify -negate enfuse_Gray.png

  9. gm mogrify  -gaussian-blur 10 enfuse_Gray.png

  10. convert enfuse.png enfuse_Gray.png   -compose Overlay
    -composite  cheap.png

  11. No_A=enfuse.png

  12. TDAY=`date +%Y%m%d%H%M`

  13. gm convert $No_A -resize 100% enfuse.png

  14. pfsin enfuse.png|pfstmo_fattal02|pfsgamma --gamma 1.8 | pfsout
    Fattal.png

  15. pfsin enfuse.png|pfstmo_mantiuk06 -e 0.1 -s 0| pfsout Mantiuk.png

  16. mogrify Mantiuk.png -equalize

  17. pfsin enfuse.png| pfstmo_drago03   | pfsout Drago.png

  18. gm convert  Fattal.png -colorspace Gray Fattal_Gray.png

  19. mogrify Fattal_Gray.png  -background white -flatten +matte

  20. gm convert  Drago.png -colorspace Gray Drago_Gray.png

  21. mogrify Fattal_Gray.png  -background white -flatten +matte

  22. convert Fattal.png -alpha off Fattal_Gray.png -compose
    copyopacity -composite F.png

  23. convert Drago.png -alpha off Drago_Gray.png -compose copyopacity
    -composite D.png

  24. convert enfuse.png D.png   -compose Overlay
    -composite  E_D.png

  25. composite   F.png E_D.png E_D_F.png

  26. convert  E_D_F.png Mantiuk.png  -compose soft-light
    -composite  E_D_F_M.png

  27. mogrify -normalize E_D_F_M.png

  28. gm convert  E_D_F_M.png  cheapHDR`date +%Y%m%d%H%M`.jpg

  29. 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

  30. rm E_D_F_MDeqFeq.png

  31. done

  32. exec 3<&-

  33. IFS=$BUFIFS




Cimg8612 Cheaphdr201202251509_2
モノクロ撮影モードの画像もイケルことがわかった。
去年の旅行のときHDRi処理前提で、もっと撮影するべきだった。