2012年07月16日

【スクリプトにお願い】GIMPだけでHDRみたく細部強調をしてみる【素材付き】

この記事の続きができました。→ さらに続き、じゃないけど、GIMPで夜景HDRを作ってみた。
さらに追記:GIMPでHDRっぽくするのは正直、この方法がいいと思う。→こちらの記事も参照してください。

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

GIMPでやるLucis Artエフェクトの記事も参考にしてください。




       *       *


スクリプトに頼らずに小汚いHDRみたいな加工をしてみた
が、こんどはスクリプト(やフィルター)に頼って小汚い……いや、別に汚くはないHDRみたいな加工を、GIMPでやってみようと思う。

ま、HDRみたいなとは言っているけど、その「HDR風味」の実体は「細部強調」にあることが多いと思う。
だから、「これスゲー」みたいなHDR画像は、HDRソフトでトーンマッピングしただけでは作れないことが少なくない。
逆に、細部強調(ディテールのコントラストを上げる)をすれば、それだけでHDR風になることも多い。
そういうことによく使われるソフトがTopaz AdjustやLucis Artなどだ(ほかにもあるだろうけどよく知らない)。

 

で、HDRの基本というのは、複数の写真を合成することで、つぶれてるところや飛んでるところをなくす、あるいはできるだけ少なくする、ということがある。
もちろん表現意図やその人の好みによって、飛ばしたりつぶしたりすることはあるだろうけど、基本は基本だ。
だから、1枚の写真をフェイクHDRに加工するときも、できるだけそれにのっとってやりたい。
全体のコントラストは低く、細部のコントラストは高く、これがHDRの本道だと思う(全体のコントラストを低くして彩度を上げるだけでは、私はぜんぜんいいとは思わない……写真にもよるが)。

 

というのーがきはともかく、やってみる。
下の写真が素材だが、横2400(1.87MB)にしてあるので、これを保存して同じ作業をすれば、同じものができると思う(できなかったら、どこかオカシイということだ。なお、私のGIMPは2.6.11)。
GIMP使いの人は、これを使ってやってみてほしい……と思ったのだが、どうも容量の制限以外にもサイズ制限があるみたいで、画像が小さくなってしまった。
ので、別に圧縮ファイルを作った。リンクされているwmvファイルを落として、拡張子をzipに直して解凍してほしい。中に画像が入ってる。

P7205874_02

sozai ←これを落として解凍



その前に、まずはお手本として、フォトショのプラグインであるReDynaMix HDRで処理したものをみよう。
これは1枚写真をトーンマッピングするもので、HDR風味にはなるが、細部強調とまではいかない、と考えていいと思う(細部強調専門のソフトに比べれば、ということ)。

P7205874_re_1



同じくフォトショのプラグインであるLucis Artで処理したもの(を重ねたりなんだりしたもの)。
なんつーか、さすがと言っていいような気がする。
こういう異様なトーンこそがHDRのように思えるけど、ぜんぜんHDRじゃないんだな、ホントは。

P7205874_ru_1



では、お手本を見たところで、作業に移ろう。
まず、読んだ画像を複製して、新しいレイヤーを作り、フィルターに入っているDynamic Range Transformer(入ってない場合は入れて。日本語版では「ダイナミックレンジ補正」という名まえ)で処理。
パラメータはデフォルトのまま(使い方がよくわかってない)。
明部を落とし、暗部を持ち上げるものなので、これだけでコントラストは落ちる(明るくなりすぎた場合はオリジナルと混ぜて調節するといい。逆にあまり変化がないときは、もう1回処理するのもアリだと思う……パラメータで調節しろよとは自分でも思うが、どうやるとどうなるのか調べるのがめんどい)。

gi_01



それを複製し、色調補正に入っているレティネックスで処理。
パラメータはデフォルトのまま。レベルは「低い」で。

gi_02



それをオーバーレイで重ねる(今回はしなかったが、色調がおかしくなりすぎた場合は、色を抜いてしまうのもいいと思う。どうせそのまま使うものじゃないし)。
ここで統合しちゃってもよいが、複製したやつと統合しておく。
あとで使うかもしれないので、Dynamic Range Transformerで処理したものは残しておく。
ちなみに、いちばん下にはいつもオリジナルを残しておく。完全に失敗したときに最初からやり直せるし、変化を見比べることができるから(オリジナルと見比べないと、処理するたびに変化するのがおもしろくて、ついつい違う世界に行ってしまうこともある、と思う。ひと回りして、オリジナルと似たようになってしまうとかもあるし)。

gi_03



次に、それをハイパスで処理。上に新しいレイヤーができるので、とくにレイヤーを複製する必要はない(といつつ、キャプチャでは複製してるが)。
モードはグレースケール。今回は半径を100にした(といいつつ、キャプチャでは60になってるが……まあ、あまり変わらないけど)。

gi_04



なお、このハイパスフィルターは、よく使われるhpf.exeのプラグインではなく、high-pass.scmというスクリプト。
私のGIMPだけかもしれないが、このhpf.exeは出てこない(フィルターをあけてもグレーアウトしたまま)ことが多くて使い物にならないのだ。
スクリプトだから、落としたファイルをスクリプトフォルダに入れると使える。フィルターの汎用のところに入る(新しいGIMPや古いGIMPでも動くかどうかは知らない)。

 

処理するとこんなのができる。

gi_05



もう1枚複製して(計2枚)、両方ともオーバーレイで重ねて、表示レイヤーを結合。

gi_06



だいぶコントラストが高くなったのだが、ちょっと行きすぎであって、暗いところはつぶれがち、明るいところは飛びがちだ(暗いところはそうでもないが、そういうことにしておく)。
というわけで、この画像の中間調の部分だけを利用し、明るいところと暗いところはカットしてしまう。
その部分には、残しておいたDynamic Range Transformerで処理したものをはめ込み合成するのだ。

レイヤーを複製し、2諧調化で、下限(?)を235にする。

gi_07



ハイライト部分が白くなるので、黒い部分を選択ツールで選ぶ。
選択モレがないように、近似色の選択というやつで、もう1回選択しておくといい(というか、最初から近似色の選択でいいのか)。

gi_08



選択の境界を4ピクセルにぼかす(もっと大きいほうがよかったかもしれない)。
そして、2階調化したレイヤーではなく、その下の画像レイヤーから選択範囲をコピーする。
貼り付け(レイヤー化)で、新たなレイヤーを作り、選択を解除。
これでハイライト部分が消去されたわけだ。

gi_09



ここで2階調化したレイヤーは破棄する(そのコピペ元のレイヤーもいらないが、使ったほうがいいこともある。今回は使わないが)。
次に、貼り付けたレイヤーを複製し、再び2諧調化で、下限を30にする。

gi_10



今度は不要なシャドウ部分が黒くなるので、白いところを選択し、同じように境界をぼかして、下のレイヤーからコピペして新たなレイヤーを作る。
できたレイヤーには、ハイライト部分とシャドウ部分のない、中間調の部分だけが残っている。

gi_11



いや……この2階調化のときに、上限もいっしょに落としてしまえばいい(んだよね?)というのは、あとで気がついた。
それと、マスクを作って合成するという方法もあるとは思うが、やり方がよくわからない。

あと、選択した範囲を消去してしまえばハナシは早いと思うのだが、消去したところが透明にならないみたいで……ようするにGIMPの使い方がよくわかってないのだ(ふだんはフォトショばかり使ってるので)。

書いてあることが理解できる人は、もっと簡単な方法でやればいいと思う(Dynamic Range Transformerで処理したものから、明るいところと暗いところを持ってくる、というのもいいだろう)。

 

んで、残しておいたDynamic Range Transformerで処理したものの上にかぶせて統合すればよい、と(それではめりはりがなさすぎるというような場合、2階調化する前のレイヤーをうっすらと混ぜてもいい。今回はそれをせずにレイヤーは削除してるが。やりすぎだと思ったら、オリジナルと混ぜてもいい)。
まあ、おじさんのシャツの肩の部分など、最初から真っ白のところはどうにもならないが、そうでないところはディテールが復活している。

gi_12



できたのがこちらだが、彩度を30上げてる。

P7205874_gi_1



Lucis Artで処理したものと同じではないが、いちおうそこそこの細部強調はできたといってもいいのではないだろうか。
飛んでるところとつぶれてるところができるのを恐れすぎたせいか、ちょっとコントラストが低いけど(つか、全体的に明るいか)。



ノイジーなのでNeat Image(制限はあるがフリー使用可)でノイズ除去をしたが、ノイズのサンプルを取れるだけのフラットな部分がなく、無理やりやったため、かなりディテールが失われてしまった。シャープ感も落ちている。
ま、これはこれで、ヌルリとした感じがおもしろいとは思う。嫌いじゃない(むしろ好きだし、そのためにオーバー目にノイズ除去することもある。シャープ感がないので、縮小しないと、というところはあるが)。
申し訳ないが、GIMPに入ってるノイズ除去ではどうなるかわからない(ほとんど使わないので)。

P7205874_gi_fil_1



こんなふうに、ノイズを取りすぎでディテールが失われてしまった場合、モトの画像を混ぜるといい(ノイズを取る量を減らせばいいのだが)。
しかし、たとえば標準50%で混ぜたとしたら、ノイズが半分乗せられるということになる。
ノイズというのは、極端なハナシ、白っぽいピクセルの隣に黒っぽいピクセルがあるからザラザラに見える。
なので、比較(暗)で重ねて、黒っぽいところだけを乗せてやるという方法をとった。

P7205874_gi_fil_2



少しディテールが復活したし、甘かったエッジも少しくっきりしたように感じるが、どうだろうか。

 

もともと暗いところを無理に持ち上げ、しかもコントラストを高めているのだから、ノイズが出ないわけがないので、このあたりはしょうがないと思ってほしい。
「ノイズが出たらいけないのかyo」とか思ってないと、1枚写真のフェイクHDR化はできないと思う(笑)。

ただ……たしかにレティネックスがいちばんの悪者だとは思う。
あいつがノイズだらけにする元凶ではある(Lucis ArtやTopaz Adjustもノイズが出るよ)。
この写真はごちゃごちゃしてるので、それほどひどいことにはなってないが。

 


下の写真も同じようにして作った(が、まったく同じではない。明るいところをコピペして乗算で重ねたりもしてる。空やテントの屋根が薄暗いのはそのため)。

P7205876_01
P7205876_gi_1



こちらはハイパスを使ってなかったと思う(忘れた)。
ただ、Dynamic Range Transformerの2回処理で、かなり暗部を持ち上げてる。
黒っぽいところはガサガサになったが、そういうところだけを選択してノイズ除去をした(GIMPじゃなく、昔のオフィスのおまけソフト、Photo Editorでやった。こいつのノイズ除去は白い点々をわりときれいに消すんだわ。ボケるから全体にはできないけど)。

P4301241_1
P4301241_gi_1



人物とかじゃなく、空の入った風景はというと、こうなる。

P6070104_1
P6070104_gi_fil_1



ほとんど同じ処理だけど、切り貼りするときの範囲の境界のぼかしが少なく、その部分がめだってしまった。
なので、Dynamic Range Transformerで処理したものの上に、明部と暗部をカットする前の画像を30%ぐらいで混ぜている。
空のような滑らかなところはノイズが目立つので、Neat Imageでノイズ除去もしてる。
なんだか鮮やかさに欠ける昔の印刷のよくない絵葉書みたいだが、モトの写真がアレなんでナンだということで……けっきょくHDRとかいっても、ダメ写真をカコイイ写真にする魔法じゃないわけよ。




ま、GIMPだけでやろうとしたら、こんなもんじゃないかなと思うけど、どうだろう?
「この方法がいい」というわけではなく、こんなこともできるということで、これを参考にいろいろやってみてはいかがだろうか。
もっと手間隙かけたければ、部分ごとに焼きこんだり覆ったりするのもいいかも。

あんまりハイパス使うと、「あー、これはハイパスくさいな」みたいな調子になるので、ちょっと考え物なんだけどね(いや、別にわるくはないけど、個人的にどうも偽物くさく感じる)。明暗の調子のバランスがおかしくなって、目がちかちかチラチラするような感じにもなりやすいし……正直、ここに出した作例も少しびみょー。



ごめんなさい、ホントはhigh-pass.scmを使った記事を作りたかっただけです(笑)。




GIMPでHDRってことなら、こちらこちらこちらも参考に。
こちらもレタッチソフトでやる、それ風の加工の参考になるかも。








※追記
私にとっては新発見のレティネックスに興味を持っていたり、同じく新発見のハイパスのスクリプトを入れられたのがうれしくて、すっかりAdaptive Contrast Enhancementのことを忘れていた。
これを使って細部強調をやってみる。

まず、オリジナルを複製してDynamic Range Transformerで処理。パラメータはデフォルトのまま。

それを複製してAdaptive Contrast Enhancementで処理。イテレイション(アイタレイション)を40、ディテールサイズを最大の128にした。
どうも、このディテールサイズをいじるというのがキモかもしれない(といっても、最大である必要もない。それを変えたのを両方とも重ねるというのもいいかも)。

gi_000



それを複製し(計2枚)、両方ともDynamic Range Transformerで処理したものにオーバーレイで重ね、3枚を統合。

まあいいのだが、例によって白いところが飛びぎみになった。
そこで、シャツの真っ白なところを選択、近似色の選択も実行し、境界を15ピクセルぼかす。
その範囲をコピペしてレイヤー化。
白いところに白いものを重ねてもしょうがないので、「明るさ」を15下げる(「レベル補正」ではなく「明るさ」)。

それを複製して(計2枚)、両方とも乗算で重ねた。
本当に真っ白のところは淡いグレーになっただけだが、飛ぶかどうかびみょーなところは、ディテールが復活した。

P7205874_gi_a_1



問題点としては、Dynamic Range Transformerで暗部を持ち上げた際に、そこのノイズがすでにりっぱに(?)出ている。
Adaptive Contrast Enhancementはそれを強調するので、等倍で見るとけっこうすごいことになる、ことがある(ほかの強調方法でも似たようなものだが……1枚写真ではなく、スクリプトを使って3枚を露出合成しておくといいと思うが、静物ならともかく、動体があるとねぇ)。

縮小しての鑑賞が前提なら、Adaptive Contrast Enhancementで処理したものは数ピクセル(1~4ぐらいか?)でぼかしてから重ねるとよいと思う。
細部がぼけるが、ノイズはめだたなくなる。
少しのぼけは縮小してしまえばわからない、というわけ。

あとでノイズ除去をしようとしても、このノイズは固まり(?)が大きいので、取れないと思う。ノイズというより、微細部分の諧調飛びという感じだし(スムーシングの数値を大きくするとノイズ感は減るが、効果は弱まるし、調整するパラメータが多くなって、どういう組み合わせがいいのかまったくわからない。ただ、あんまりディテールサイズを大きくすると、スムーシングでも諧調飛びは直らない。とくに空などの滑らかな部分が多い写真ではたいへん困る。どうにもならないときは、空だけ別処理したのを合成するしかないかも)。



ともあれ、スクリプトで露出合成もできるし、いちおうの細部強調もできるしで、GIMPだけでもHDRソフトのようなことができなくもない。
高価で新しいフォトショならともかく、プラグインやスクリプトが豊富なので、古い安物フォトショよりは多機能だと思う。その古い安物フォトショ使いとしては、それらのフリーのプラグインなどがうらやましい(スクリプトに相当するのがアクションといわれるものだけど、私のフォトショではそれが使えないし……まあ、とくにいらないけど)。








あまりやる気がなかったDynamic Range Transformerのパラメータを少しいじってみた。
まずは、コントラストを0.90に上げた。

P7205874_gi_dy_c90_01



遠目でのパッと見はいいかもしれないけど、等倍で見るとこのざまだ。
ほぼマンガというか塗り絵というかアニメというかポスタリゼーションというかダスト&スクラッチというか、そういう感じで諧調はジャンプし、ディテールはつぶれている。
巨大なサイズの画像なら、縮小してしまえばわからないかもしれないが、これはもはや特殊効果である。

P7205874_gi_dy_c90_00



なんとか使えるのは0.60から0.70ぐらいではないだろうか。
これは0.70にしたもの。

P7205874_gi_dy_c70_01



その0.70のを複製してオーバーレイで重ねた。
白いところを選択(近似色の選択)してレイヤー化、マイナス15暗くし、それを乗算で重ねた。

P7205874_gi_dy_c70_1_01



サイズ(日本語版では半径)を80にまで上げて、コントラストを0.50にしてみた。
サイズを大きくすると、コントラストを上げてもつぶれにくいかもしれない……いや、諧調がつぶれるのはつぶれるのだが、細部が埋もれにくい(つまり、ベタ塗りであるのは変わらないが、より細密なアニメになるという感じ)。
ただ、ぼかしたネガ版のマスクを使ってる(レイヤーには出てこないので計算だけしてる?)と思われるので、サイズを上げると暗いところの周りが明るくなるというハロ(または明るいところの周りが暗くなる逆ハロ)が目立ってくる。アンシャープやハイパスによるハロと同じように、少し目がチラチラするかもしれない。
それも効果のひとつと思えばどうということはないが(写真によって適不適はあるが、わざとハロを出したいならこういう方法もある)。

P7205874_gi_dy_c50_s80_01



複製してオーバーレイで重ねた。
白いところを選択してレイヤー化、マイナス15暗くし、乗算で重ねる。
黒いところも同様にして、プラス15明るくし、スクリーンで重ねた。
あいかわらず白飛びと黒つぶれをイヤがってる。
まあ、イヤがるというより、最初からないものはしょうがないが、せっかくあるディテールを失うのはもったいない……貧乏性なのだ(笑)。

P7205874_gi_dy_c50_s80_1_01



Dynamic Range Transformerだけでもけっこうイケることがわかったが、これだけに頼らず、レティネックスやハイパス、Adaptive Contrast Enhancementなどの助けを借りてもいいんじゃなかろうか。
そういうことになると、どういう組み合わせでなにをどれだけやればいいのか、最適を求めるとどんどんめんどくなってくる……が、やる気のある人にとっては、飽きなくていいだろう(笑)。

HDR(フェイクHDR)とかなんとか考えず、エフェクトのひとつして、いろいろ試して楽しめばいいと思う。

 






※気になったことを追記
こちらのフォトショのプラグインの記事でやったように、大きな画像を処理して縮小するのではなく、鑑賞するときの実サイズで処理したらどうなるかやってみた。

まず800×600に縮小。
それを複製してレベル補正で明るく(中心値を2.00に)。
Adaptive Contrast Enhancementでローカルコントラストの調整。
ブライトネス0.20、イテレイション10、ディテールサイズ20、スムーシングを10で。

P7205874_01_gi



できたものをレベル調整で明るさを下げ、彩度を上げてノイズ除去、最後にアンシャープでくっきり(この作業はフォトショでやった)。

P7205874_01_gi_001



簡単じゃん、と思った(なにが?)。

画像サイズや強調したいもののサイズ(たとえば雲のかたまりとか)によって、Adaptive Contrast Enhancementのパラメータをいじる、いじらないといけない、プレビューがあるんだからいじれ、と。
コントラストが高くなってもいいように、あらかじめ低コントラストにしておく、明るさもちょうどよくしておく、と。
それで、あとは色を強めればフェイクHDRのできあがりだ。
小さい画像なら、トーンマッピングやローカルコントラスト強調が苦手とする「大きな面積のフラットな部分」も少なくなり、かえってノイズ(諧調飛びなどによる斑点状のノイズ)も少ない、と。
よし、覚えた。
こうだな。

GEDC1723_01
GEDC1723_gi_fil_1




まあ、本物でトーンマッピングしたようにはいかないけど、そうしたければ本物を使えばいいだけだ(つか、GIMPでフェイクHDRを作ろうとは思わないし……GIMPファンにはわるいけど)。

GEDC1723_01_m06_1



うーん、やはり本物はいい。
mantiuk'06、愛してる。

 

 

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

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

コメントする。

絵文字
 
星  顔 
 

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