前回のエントリで出てきた、カラー画像から擬似的にL画像を生成してLとRGBを別々に処理して最後にLRGB合成する「セルフLRGB合成」(と勝手に命名)について。
セルフLRGB合成の狙いは、カラー画像の wavelet 処理で発生するカラーノイズを抑制することです。特に linked wavelets で処理すると強烈なノイズを denoise でぼかす形になるため、カラーノイズが偽色として残って不自然になりやすい傾向があるようです。
そこで、wavelet を弱めにかけたノイズの少ない画像をRGB画像とし、元画像をグレースケール化したものに wavelet を強くかけたものをL画像にして、LRGB合成する、というのが「セルフLRGB合成」です。
なのですが、前回は「元画像をグレースケール化したもの」をうまく作れませんでした。Photoshop CC でグレースケールに変換した画像に wavelet をかけるとモアレのようなノイズが盛大に出てしまうのです。
前回はこれがどうして出るのかわからなくて、仕方なく wavelet → グレースケール化の順に処理してL画像にしました。偽色の部分が色は違っても輝度が変わらないならこれでも大丈夫では、と思ってのことですが、考えてみれば怪しいですよね。
というわけでもう少し試行錯誤していたらモアレが出る原因がわかりました。グレースケール化した画像は Photoshop の「書き出し」(PNGとしてクイック書き出し)で出力していたのですが、これがまずかったようです。「別名で保存」でTIFF形式で保存したところ問題なく wavelet 処理できました。
どうも「書き出し」だと等倍で出力しても再サンプル(バイキュービック補間)がかかって劣化してしまうようですね… 「保存」なら無劣化で出力されるようです。
さて、こうやって無事グレースケール化した画像ですが、元のカラー画像用に調整した wavelet パラメータで処理するとカラーの時よりもぼやけた感じになってしまいました。なぜでしょう?ひょっとして前回のあの解像感はカラーノイズに由来するアーティファクトだったのか?
そこで wavelet を少し強化したのが上の画像です。パラメータは以下の通り。
- Waveletscheme: Linear
- Initial Layer: 2
- Step Increment: 0
- Wavelet filter: Gaussian
- Use Linked Wavelets: ON
- Contrast: 140
- Brightness: 0
Layer | Denoise | Sharpen | 設定値 |
---|---|---|---|
1 | 0.15 | 0.120 | 22.0 |
2 | 0.17 | 0.130 | 25.7 |
3 | 0.10 | 0.120 | 3.0 |
これをL画像にしてLRGB合成したのがこちら(RGB画像は前回と同じ)。
前回と比べると解像感が落ちてますね… ただ今回の方が自然な描写になっている気がします。大赤斑あたりが全然違って、前回はもっと滲んだようになっていたのが、今回はくっきり落ち着いた描写になっています。
理屈の上では今回の方がより正しい描写になっているはずなので、前回の解像感の一部はカラーノイズ由来の濃淡によるものである疑いが濃厚です。
ということで、今回の結果が現時点でのベストということにしたいと思います。