2012年07月28日

【スクリプトにお願い】GIMPだけでHDRみたく(ry その2

※ほかにも記事はあるので「GIMP HDR」でブログ内検索してみてください。






いわゆるGIMP使いでもないのに、その後もプラグインやスクリプトを探す旅は続いている。
出会ったものたちを紹介しよう(別に新しいものというわけじゃないので、知ってたらごめん)。

使ってる素材写真はこちらのページ(1回目の紹介記事)に出ているので、どう変化したか違いを見たい場合はどぞ。




まずはAdvanced Tone Mappingというスクリプト。
説明(作例やお勧めのセッティングなども出てる)とダウンロードはこちらのページから。

説明文のAdvanced Tone Mappingという語のところがリンクになっているので、そこから落とし(対象をファイルに保存)、scmファイルをGIMPのスクリプトフォルダに入れると使える。
入るところはフィルタのシャープ(または強調)のところ。

atm_1



起動するとこんな感じ。

atm_2



デフォルトセッティングのままやってみたのだが、できたのはあまり変化がなかったので、パラメータを変えた。
いちばん上を7、いちばん下を6にしてやってみた(紹介ページのお勧めセッティングは読んでない)。(^_^;)

P7205874_01_atm_1



HDRにおけるトーンマッピングとは違うような気がするけど、とにかく変わった。
おそらくフェイクHDRのスクリプトよりも変化は大きい(まあ、あれはパラメータをいじってないけど)。
調整しだいではいいところまで行くかも。
こちらで紹介したコントラストマスクに似てると思った。

 

 

次はMaximize Local Contrastというもので、名まえからもわかるとおり、細部(ローカルのコントラスト)の強調をするものだと思う。
説明とダウンロードはこちらのページから。

New version! と出ているほうを落として使ってみた。
これもスクリプトなので、scmファイルをスクリプトフォルダに入れる。

フィルタとかのところには入らず、生意気にも(?)メニューバーのところにFx-Foundryという新項目ができる(デフォのサイズでGIMPを起動した場合、メニューがすべて表示されなくなってしまうので困るわ)。

mlc_1



起動するとこんな感じ。

mlc_2



上から2、1、20という数値でやってみた。
けっこうイイ感じ。

P7205874_01_mlc_1



できたのをもう1回処理した。
パラメータは上から4、1、8にして。

P7205874_01_mlc_2



さらに「をっ!」という感じになった。
やはりそれっぽく見せるには細部強調がキモだよなあ、と思った。

 

なお、下で説明する作業をしたら、スクリプトがおかしくなった。
パラメータのいちばん上がRadiusなのは同じだが、2番目にあったThresholdがなくなり、そこにFeathr haloesが出るようになった。
下のFeathr haloesのところにはScaledown factorというのが出るようになった。
おそらくThresholdがScaledown factorに変わった(順番も変わった)ということなのではないだろうかと思うのだが、どうして変わったのかがわからない。
こういうことってあるのだろうか?

そういえば、最初はレイヤーのところに入っていたAdaptive Contrast Enhancementが、いつのまにかフィルターのところに移動してたのだが、それがまたレイヤーのところに戻った。
そのうえ、フィルターのシャープという項目がなくなって強調になった(たしかにシャープとは関係ないフィルタも入っていたので、強調のほうがふさわしいとは思うが)。

なにがなんだかさっぱりわからない。

まあ、フォトショでもプラグインをたくさん入れると、項目が勝手にまとめられたりしちゃうけど(かなりのものがその他の項目に入っちゃうとかで、フィルタが探しにくくなる)。

 

というわけで、GIMPのバージョンとか、どれだけプラグインを入れてるかとか、そのあたりによって表示が変わってくることもあるのだとしたら、そのあたりは察してくださいな。

 

 

さて、最後に紹介するのはDynamic range compressionというもので、これはちょっと説明が必要だ。

まず、おそらくウィンドウズで使われているふつーのGIMPでは動かないと思う。
ので、それが動くようにしなくてはならない(フィルタの中にPython-Fuという項目があれば動くはず、らしい)。

というわけで、私はよくわからないし間違ってはいけないので説明しない。その方法はググって調べてほしい。ようするにpyスクリプトを動かす方法だ。できるだけ新しい情報を参考にしたほうがいいと思う、たぶん。→15年追記:新しいバージョンのGIMPは、最初からパイソンに対応してるようなので、なにもしないでいいと思います。

で、私も調べてそのとおりにやったわけだ。
つまり、GIMPをいったんアンインストールし、必要なソフトを入れたのち、再インストール(アンインストールせず、上書きインストールでもいけるらしいが)。

そのとき、追加で入れたプラグインやスクリプトを探して入れなおすのはイヤなので、そのあたりはバックアップしておいた(が、どうもうまくいかなかったので、GIMPを使おうサイトで配布されている追加プラグインのパッケージなどは入れなおすことになった。自分で探して入れたのはそのまま使えた。これもどうしてなのかわからない。だいたい、追加プラグインが追加プラグインのフォルダに入ってなかったし……最初にGIMPを入れたときにめちゃくちゃやってたのかも。なお、ここでプラグインフォルダといってるのは、XPの場合はドキュメント&セッティング内にある追加プラグインフォルダのことだかんね。プログラムフォルダ内にある、デフォで入ってるプラグインのフォルダじゃない。あ、MEにはドキュ&セットとかないし、XPの使い方がよくわかってないままGIMPをMEと同じように入れたのがそもそもの原因だったかも……何年前の話だ)。

そういうわけで、この作業をやったら、上に書いたように、スクリプトの表示が変わっていたのであった。
違うバージョンを入れたわけじゃなく、最初にGIMPをインストールしたときのファイルを取っておいたので、それを入れなおしただけだ。
なのに違うというのは……不思議だ。
スクリプトが使うプラグインが指定場所になかったりとか、だから代替のプラグインを使ってたとか、そういうことなんだろうか(あり得るかも)。
だとしたら、変わったのではなく、正しくなったということか。

 

で、かんじんのDynamic range compressionというのは、このページから落とせる(ウィンドウズならdrc-win32-bin.7zを)。→15年追記:配布サイトが失われてるようですので、win用のを置いておきます。このwmvファイルを右クリックで保存し、wmvの拡張子をzipに書き換えて解凍してください。→さらに追記:こちらのアーカイブにウィン用とリナックス用の7zファイルが残ってます。

圧縮方式が一般的なzipなどではなく、7zというやつなので、それの解凍ソフトも(持ってなければ)必要だ。

解凍したら、スクリプトのpyファイル(ふつーのscmファイルじゃないから拡張をしないと動かない)をプラグインフォルダに入れる(スクリプトフォルダじゃない、と作者も強調してる)。
残りのexeファイルとdllファイル2つは、Cドライブ内にToolsというフォルダを作り、その中にDRCというフォルダを作り、その中に入れる。
どうしても違うフォルダに入れたいなら、スクリプトを書き換える必要がある(readme文書に何行目を書き換えればいいか出てる。おそらくそこらへんでいいと思う……たぶん、きっと)。
ただ、スクリプトと同じプラグインフォルダに入れると、GIMPの起動時にエラーが出る(そのあと、正常に起動するが)。

 

これ、じつはけっこう前に発見してたんだけど、そのときは途中でめげてしまった。
なんだよ、動かねーのか、ということで。
そうまでしてほしいわけじゃなかったのだけど、記事作りのために調べなおしたというわけ(作者が細かいことを説明してないので、どうすればいいのか、まったく見当がつかなかった)。

 

というわけで、うまく導入できたとしよう。
入るのはフィルタのMM-Filtersというところだ。

drc_1



起動するとこういうのが出る。

drc_2



こういうのができた。

P7205874_01_mm1_1



ハデではないが、見る人が見れば、いかにもトーンマッピング(でダイナミックレンジを圧縮)したというのがわかる調子だ。
flickrに出てることを読むと、どうもLuminanceHDRなんかにも使われているfattalのアルゴリズム(の前のやつ?)と同じだとかいう人もいるし……なにがなんだかよくわからない。
とりあえず、そういうのがモトになった、本物(?)のトーンマッパーのようだ。

 

つーわけで、トーンマッピングしたら、次は細部強調でしょ。
Adaptive Contrast Enhancementで処理。

ace_1



うひゃぁ。

P7205874_01_mm2_ad_1



さらにMaximize Local Contrastで処理し、びみょーにコントラストを上げた(彩度も上げた)。

P7205874_01_mm2_ad_mlc_1



この方法なら、フィルターとかを使わず(少し使ったが)手作業でやってたこの写真も、こんなふうになる。
上からDynamic range compressionで処理、それをAdaptive Contrast Enhancementで処理(したのを混ぜたもの)、それをMaximize Local Contrastで処理、最後に彩度を上げたもの。
あんな暗かったのが、よくこんなになったわ。

P6070153_mm_1
P6070153_mm_ad_1
P6070153_mm_ad_mlc_1







おまけ。
露出補正プラス1とマイナス1のカットをGIMPで平均合成(加算平均)……ようするに、1枚の上にもう1枚を標準50パーセントで重ねて統合(いちおうこのように合成しているので、これはフェイクでも偽でもなく、モンモノのHDRだ)。
それをDynamic range compressionで処理、それをAdaptive……以下同。

P4098274_6_gi_mm_ad_mlc_1



参考出品ということで、こちらは平均合成したものをLuminanceHDRのmantiuk'06でトーンマッピング、Lucis Artで処理したもの(を混ぜたもの)。
彩度は猛烈に上げた(mantiuk'06でトーンマッピングしたときに彩度が落ちただけのハナシだが)。

P4098274_6_gi_m06_lu_1



こうして比較してみると、GIMPでやったやつは、ちょっとAdaptive Contrast Enhancementでのコントラスト強調がすぎたような気がする(ディテールサイズも大きかったか)。
せっかく持ち上がった暗いところを、また暗くしすぎてるような気がしないでもない。
あんまり持ち上げてもノイズが目立つから、これでいいような気もするけど(なんとなく落ち着いた渋い雰囲気も感じるし)。

 

ま、いずれにせよ、GIMPだけでもここまでできる、と。
ここまでできるなら、GIMPでフェイクHDRを作る気にもなるわ、うん。

GIMP、エロい……じゃなくてえらい!

えらいのは、GIMP本体はもちろん、こういうプラグインやスクリプトを作って、無料で提供してる人たちだけど。

 






※追記
さらに付け加えておく。

まずはCheap HDRというスクリプト。
こちらのページから落として、スクリプトフォルダに入れると使える。入るところはフィルタのtheilrというところ。
起動するとこんなのが出る。

cHDR_1



パラメータの意味がわからないので、とりあえず半径はそのまま150、Desaturetion(色を抜くってことか?)はAverageにしてみた。
できたのはこういうもの(レイヤーがそのままになるので、統合した)。

P7205874_01_cHDR_1



どうもぼかしたモノクロネガ版を重ねているだけのようで、効果はあるけど、名まえどおりチープ(安っぽい)だ。
プルダウンメニューは、おそらく明度だけを反転するか、平均したものを反転するかとか、そういう意味だろう、たぶん。
とは思うものの、lightnessとluminosityって、どう違うんだ? どちらも「明るさ」的な意味だと思うけど……あ、チャンネルを分解してるのかな?
半径ってのは、ぼかしの量だろう、たぶん。
手動でも簡単にできるけれども、あればあったで便利かも。

 

 

次はFace HDR(HDR tone mappingとかHigh dynamic range with tone mappingとも出ている)というもので、これはpy(パイソン)言語によるスクリプトなので、上の本文でも書いたような拡張をしないと使えないと思う。
こちらのページからzipを落として解凍、中身のpyファイルをプラグインフォルダに入れる。
Python-Fuという項目がメニューバーにできて、そこに入る。

が、これは3枚の画像を勝手に露出合成する(レイヤーを3枚作っておくだけでいい)スクリプトのようで、1枚しか画像を読んでないのに実行しようとすると、エラーが出て怒られる。
というわけで、ずっと使ってきた作例写真から明るいのと暗いのを作り、それらを合成させたのだが、どうも結果がかんばしくない。
ただコントラストが落ちただけのように見えるので、違う写真を使った(レイヤーのプレビューを大きくしたので、だいたいこんなもんかと思ってほしい。真ん中のが標準だとしたらプラマイ2のブラケットだ)。
パラメータはデフォの位置でやってみた。

fHDR_1



できたのはこんな感じ。

P6270578_HDRtm_1



一見するといいのだが、影の中が明るくなってしまっている。
合成するだけではなく、その後の色強調とかもすべて自動でやってしまおうというものだと思うのだが、パラメータのセッティングをうまくやらないと、できるものもうまくないのかもしれない。
あるいは、1段おきのブラケットでは、明るさの差がありすぎるのか。
ちょっと研究というか、勉強が必要のようだ。
調整はあとで自分でするから、合成だけしてくれればいいよ、と思わないではないが。
なお、同じ3枚の写真をExposure Blendスクリプトで露出合成したものはこちらに出してるので、比較してもらいたい。





次はSimple Contrast Maskというもので、こちらのページからファイルを落とし、スクリプトフォルダに放り込む。
フィルタとかではなく、色のところに入る。
パラメータの調整とかはなく、勝手に実行され、調整用のマスク(ぼかしたネガ版)が新しいレイヤーとして出力される。
たしかにシンプルだ。

scm_1



デフォではオーバーレイの75パーセントということになっているが、その率を調整することで、少しのコントラスト調整ができる。
マスクのレイヤーを複製して重ねれば、さらに低コントラストになってディテールが浮き上がってくる。

scm_2
scm_3



というわけで、これはキャプチャを見ればわかるだろうから、作例はいらんだろう(めんどくさくなってきたなと思ったアナタ、するどい)。

 

 

次は、よくフェイクHDRのスクリプトがやってたり、チュートリアルでやってたりする焼き込みと覆い焼きをするフィルター。
Automated dodge and burnというスクリプトで、こちらのページから落として、スクリプトファイルに入れる。
いくつかのフェイクHDRのスクリプトと同じく、Script-Fuのエンハンスのところに入る。
起動するとこんなのが出てくる。

d&b_1



ふつーの写真にやるよりいいかなと思って、上で紹介したDynamic range compressionでトーンマッピングしたものにやってみた。

P7205874_01_drc_d&b_1



うーん、あまり意味はなさそう。コントラストが落ちてる写真のほうがわかりやすいかと思ったのだけど。
パラメータを変えても違いはないし、どうなんだろう、これ。
変わんねーじゃん。

この手法でやったと思われるフェイクHDRにはカコイイのもあるんだけどなぁ。
素材がよくないのか、あるいはスクリプトがアホなのか……どっちだろう。
なんか、紹介ページでも、文句をつけてると思われるコメントがあるようなないような。

そのコメントには白いのを明るく、黒いのを暗くみたいなことが出ている(と思う)ので、ハタと気付いた。
これは自動的にレイヤーを作るだけで、それによる調整は自分でやるのか(しかも、不透明度の調整とかじゃなく)。

というわけで、覆い焼き用の暗い版のレベルを下げて(中央値を2.5に)、焼き込み用の明るい版のレベルを上げた(同じく0.2)。
ためしにやってみただけなので数値に意味はないが、こんなふうになった。

P7205874_01_drc_d&b2_1



なるほどね。
レイヤーの明るさ調節をしてから不透明度の調節をするのか。
紹介ページでは使い方を説明してない、おまえ自分で使ったのか、なにもいじらないでその作例ができたのかよ、みたいな感じで文句をつけてたんだろうな、きっと(ちょっと言葉がわるいざんす)。

これ、2つのレイヤーの調整が同時にできればいいのになぁ。
そういうプラグインとかないかしら(有料モノでありそうな気がする……が、フリーのGIMPに有料のプラグインとかあるのか?)。

そういえばFake HDR Lookのスクリプトにもダッヂ&バーンの機能があった。
使ってみたら、同じことができた(同様に焼き込み用と覆い焼き用のレイヤーができた)。
そっちでもできるのか(説明を書き足しておこう)。

 

こういうレイヤーを残してくれるプラグインやスクリプトは、それをそのままフォトショに持っていって調整できるな、うん。
GIMPは(私のパソでは)重いからヤなんだよ。
私のフォトショはクソ古いから、ぜんぜん軽いんだ。

フォトショのプラグインはGIMPで動く(ようにできる)のに、GIMPのプラグインやスクリプトはフォトショでは動かないというのがすごく残念だ。



 

トラックバックは許可されていません。

コメントはまだありません。

コメントする。

絵文字
 
星  顔 
 

ライブドアブログでは広告のパーソナライズや効果測定のためクッキー(cookie)を使用しています。
このバナーを閉じるか閲覧を継続することでクッキーの使用を承認いただいたものとさせていただきます。
また、お客様は当社パートナー企業における所定の手続きにより、クッキーの使用を管理することもできます。
詳細はライブドア利用規約をご確認ください。