【画像処理探索】ハローの除去

【画像処理探索】ハローの除去

1. はじめに

天体撮影をやっていると、明るい星の周りに出てくるハローはかなり悩ましいです。薄い雲が通ったなどは、星雲そのものは問題なく写っているのに、星の周りだけ輪っかが出てしまって一気に完成度が落ちたように見えたりします。ニュートン反射望遠鏡の遮蔽由来だったり、光学系の汚れや結露っぽい状態でも出ることがあって、原因が一つに決められないのも厄介です。
そして私自身、Photoshopで絵を描くように修正するのはあまり好きではなく、できるだけ数値処理寄りで、再現性のある方法で解決したい派です。今回は、その方針で試行錯誤して汎用的に効くハロー除去の流れを、撮影した LDN169 のデータと合わせてまとめてみます。

 

2. 今回の撮影データ

今回は去年冬で撮影したLDN169を再処理してみます。この画像はRGB 30枚を5分露光、L50枚を5分露光で撮影しました。撮影中に薄雲が頻繁に流れてきて、明るい星の周囲にハローがかなり強めに出てしまいました。星雲自体のディテールは十分に取れているのに、星のハローだけが目立ってしまい、仕上げでどうしても気になる状態です。そこで今回は、RGB L それぞれに対して同じ考え方で処理し、ハローを狙って抑えることにしました。ちなみに前回ハロー処理しない場合、このような結果になります。

 

3. 方針

この手法のポイントは、SXT を上手く使ってハロー成分だけを狙って取り出し、マスクとして元画像に適用するところにあります。
具体的には、一度画像の解像度を落とすことで、SXT がハローを星の一部として認識しやすい状態を作ります。縮小した画像で星を除去し、元解像度で星を除去した結果との差分を取ることで、ハロー成分だけを抽出してマスク化します。RGBでもモノクロでも同じ流れで使えましたが、SXT は必須になります。流れ図はこのような感じです。

 

4. 手順

4.1 リニアで下処理

まずはリニア状態で DBEBXT、色合わせを済ませます。この処理済み画像をベースとして、以降の作業に使います。ここから複数コピーして分岐させます。

4.2 解像度落とし処理

ベース画像をコピーし、IntegerResample 5倍の縮小を行います。

解像度を落とすことで、ハローが星の一部として扱われやすくなり、SXT で星を除去するときにハローも一緒に取れる方向になります。


この縮小画像に SXT をかけて星を除去したら、IntegerResample 5倍の拡大を行い、元サイズに戻します。

 

4.3 元画像の星除去

別コピーとして、ベース画像を元解像度のまま SXT で星を除去した画像も作っておきます。ここで得られるのは通常解像度での星なし画像です。

 

4.4 ハロー成分だけ抽出

次に、解像度を落として処理した星なし画像と、元解像度で処理した星なし画像から、PixelMath で差分を取り、ハロー成分だけを抽出します。この段階で、ハローだけが浮き上がる画像が作れます。

抽出したハロー画像は、場所によって真っ黒な領域が出やすいので、以下の式で暗すぎる部分を中央値で埋めます。

iif($T<med($T), med($T), $T)

 

4.5 マスクのストレッチ

その後、HistogramTransformation で明るくストレッチし、CurvesTransformation でハロー部分だけをさらに明瞭化します。

マスクに不要な細かい粒が残る場合は、Multi scale Median Transform で高周波成分を落として整えます。これでハローマスクが完成です。

 

4.6 元画像からハローの抑制

最初に作ったベース画像に対して、ハローマスクを適用し、図中のPixelMath式でハローを狙って抑えます。上手くハマると、星のコアや星雲の質感は崩さずに、ハローだけが自然に消えてくれます。

 

5. 仕上げ

ハローを抑えた後は、L RGB をそれぞれストレッチして合成し、Curves で色を整えてサチュレーションを上げます。

最後に、別で分離しておいた星像もストレッチと彩度調整をして戻して完成です。ハロー除去の有無を比べると、同じ素材でも作品の印象がまるで変わるので、明るい星が入る構図では特に効果が大きいと感じました。

最後の結果はこうなります、人工衛星跡が除けなかった以外はだいぶ良いかと思います。

撮影パラメーター:

鏡筒:ONTC Hypergraph203
カメラ:QHYCCD 600M
フィルター:Antlia LRGB V-PRO
架台:iOptron CEM 70

ブログに戻る

お問い合わせフォーム