皆既日食の画像処理 (回転アンシャープマスク処理)



Photo Shop LE (Limited Edition) ステライメージを使って、皆既日食の画像について回転アンシャープマスク処理を行ってみました。
元画像
元画像
γ=0.8,θ=15
処理画像


はじめに
回転アンシャープマスク処理は、その原理や方法を天文ガイド別冊 INTERACTIVE ASTRONOMY Vol.3 1995 Autumn の 62〜71頁で、塩田和生氏が説明しています。その処理は Photo Shop で行われており、10万円近くする高価な Photo Shop というソフトは、我々にはなかなか購入することができません。代わりに、我々アマチュア天文家が安価で気軽に購入できるソフトとしてステライメージがあり、また、スキャナやデジカメを購入するとおまけのソフトとして付属してくる、Phot Shop の機能限定版である Photo Shop LE の2つのソフトをお持ちの方は多数おられると思います。回転アンシャープマスク処理には大きく2つの処理が必要となります。放射状ぼかし処理と演算処理です。Photo Shop では両者の処理が可能ですが、Photo Shop LE では演算処理ができず、ステライメージでは放射状ぼかしができません。そこで、2つのソフトを使うことにより、互いに劣っている部分を補って、回転アンシャープマスク処理を行うことにしました。


処理の流れ
処理をする上で、押さえておかなければならないことがあります。元画像はRGBの3つとも、明るい部分が飽和していると、きちんとした処理ができません。例えば、RGBがそれぞれ0〜255の8bit階調で得られた画像があるとします。コロナの明るいところのかなりの部分が255という値を持っていると、これは明るさの上限で飽和してしまっているので、画像処理すると、飽和部分はおかしくなってしまいます。私ははじめ、元画像に飽和領域があったので処理がうまくいかず、フィルムスキャナで色が飽和しないように元画像を読み込み直して、処理がきちんとできるようになりました。

Phot Shop や Phot Shop LE は、8bitの整数演算処理を行っています。対して、ステライメージは浮動小数点演算処理を行っています。したがって、ステライメージは演算に時間がかかるのですが、精度の高い処理が可能となります。有効数字を考えると、どこまで高精度が必要なのかということになりますが、8bitの256階調では不足気味で、せめて16bitの65536階調は欲しいものです。そこで、処理はステライメージをベースにして、回転アンシャープマスクを作るための放射状ぼかし処理だけを Photo Shop LE で行うことにしました。

[処理 1] 元画像の中心出し
処理はまず、元画像の中心出しからはじめます。回転アンシャープマスクを作るためには、Photo Shop LE の放射状ぼかしを使うことになりますが、この放射状ぼかしは、画像範囲の中心に対して円弧を描くようなぼかしを作ります。皆既日食の画像を処理する場合、日食による陰の円の中心を元にして回転ぼかしを作るので、画像範囲の中心と日食による陰の円の中心が一致させなくてはなりません。そこで、画像の中心出し作業が必要となります。
元 画 像
[処理 1] 元画像の中心出し --- ステライメージ
処理のために中心出しをした元画像
[処理 2] 放射状ぼかし
-----↓-----
--- Photo Shop LE
[処理 3] 階 調 補 正
-----↓-----
--- ステライメージ
回転アンシャープマスク
[処理 4] 減 算 --- ステライメージ
( 元画像 − マスク )
[処理 5] 階 調 補 正 --- ステライメージ
完成した画像

[処理 2] 放射状ぼかし
Photo Shop LE を使って、放射状ぼかし処理を行います。放射状ぼかしというよりは、回転ぼかしといった方が良いかもしれません。これがアンシャープマスクの元となります。

[処理 3] 階調補正
放射状ぼかし処理を行った画像の階調補正を行います。元画像から、ぼかし処理を行った画像を減算することにより、アンシャープマスク処理となるわけですが、ぼかし処理した画像の階調を低くしておかないと、減算ができません。そこで階調のフルスケールを小さくしてやります。これによってできあがった画像が、回転アンシャープマスクとなります。

[処理 4] 減算
中心出しをした元画像から回転アンシャープマスク画像を減算します。

[処理 5] 階調補正
減算したままの画像では階調のフルスケールが小さいので、全体的に暗い画像となっています。そこで、仕上げに階調補正して見やすい画像に直します。

以上が、回転アンシャープマスク処理のおおまかな処理の流れです。


元画像
処理1
θ=15マスク
処理2
θ=15,γ=0.8マスク
処理3
θ=15,γ=0.8マスク
処理4
θ=15,γ=0.8
処理5 → 完成
処理の方法
上記の処理の流れで示した順に、具体的に処理を行ってみることにします。具体例として使用する元画像は、1995年10月24日にインドのサリスカに行って撮影してきた皆既日食の写真の1コマです。外部コロナまで写っていますが、露出がオーバー気味で、外部コロナの模様が見えづらくなっている写真を使用してみます。フィルムスキャナで取り込んだ画像の大きさは、3544×2364ピクセルで、約837万画素です。これでは画素数が多すぎて処理の時間がかかるので、2400×2000ピクセル、480万画素の画像を作りたいと思います。私の持っている Photo Shop LE とステライメージのバージョンは、それぞれ、 Photo Shop 5.0 LE ステライメージ3なので、これを元に話を進めていきます。

[処理 1] 元画像の中心出し
中心出しを行うには、皆既日食の場合、円状の陰の縁の上下左右の座標を調べることで、円状の陰の中心の座標が簡単に求まります。この中心を画像の中心とするために、画像の大きさを上下左右、カットしていくと簡単に行えます。具体例では、3544×2364ピクセルの元画像の上下左右を2400×2000ピクセルまでカットしてしまうので、このカットする作業において中心出しを行えばよいことになります。画像の座標を扱うとき、左上端が(0,0)です。3544×2364ピクセルの画像の中心は(1772,1182)です。今、円状の陰の縁を測ったところ、縁の左右のX座標は1389と1974で、縁の上下のY座標は1501と923でした。したがって、円状の陰の中心座標は(1682,1212)となります。画像の中心に対して、円状の陰の中心座標は、左下にずれていることになります。そこでまず、円状の陰の中心が画像の大きさの中心となるような画像の大きさに元画像をカットして作ってしまいます。カットして作る画像の大きさは、左下を基準にして、X軸方向、すなわち、画像の幅は3364 (=1682×2)にし、Y軸方向、すなわち画像の高さは2304 (=(2364−1212)×2)となります。ステライメージ3で、画像画像サイズを選択します。配置左下にし、3364高さ2304とすれば、皆既日食の円状の陰の中心と画像の大きさの中心が一致した、3364×2304ピクセルの画像ができあがります。あとは、再び、画像画像サイズを選択し、配置真ん中2400高さ2000とすれば、これからの処理の元となる2400×2000ピクセルの画像が完成します。この画像は、次の行程やのちの処理で使うので、名前を付けて保存しておきます。ファイル形式は、後の処理のことも考えると、16bitTIFFファイルが良いでしょう。

[処理 2] 放射状ぼかし
放射状ぼかしは Photo Shop 5.0 LE で行います。前の行程で、保存しておいたファイルを開きます。16bitファイルなので、このままでは、ぼかし処理を行うことができません。イメージモード8bits/チャンネルで、8bitモードに直します。そして、フィルタぼかしぼかし(放射状)を選びます。種類回転を選びます。品質は3種類ありますが、綺麗な処理を行おうとしているので時間はかかりますが高品質を選びます。は1から100まで選択でき、ぼかす回転角θになります。右の画像では、15に、すなわち、θ=15度にしてみました。できあがった画像は、別名で保存しておきます。ファイル形式は、8bitで処理されたものなので、BMPファイル形式でも、8bitTIFFファイル形式でも、どちらでも良いと思います。

[処理 3] 階調補正
放射状ぼかしを行った画像で元画像を減算しても、階調がほぼ同じなので、アンシャープマスクの効果が出ません。放射状ぼかしを行った画像の階調をある程度減らしておかなければなりません。階調補正を行う前の画像の階調をγ=1として、フルスケールを減らしてやります。作業は、ステライメージ3で行います。8bitのファイルとして前段階で保存されているので、階調レベル補正を開くと、チャンネルRBGで、最小値0最大値255となっているはずです。この最大値を増やして、階調補正を行います。右図の例(処理3)ではγ=0.8にしています。このとき、最大値には、319(=255/0.8)を入れてやります。階調補正のための最大値の入力は下表のようになります。この処理によって、回転アンシャープマスクができあがります。

[処理 4] 減算
いよいよ元画像から回転アンシャープマスクを減算します。前行程でステライメージ3で作られた画像をそのままにしておき、元画像のファイルを開きます。合成コンポジットを開き、ウィンドウのところで、前の処理でできあがったファイル名を選択します。そして、合成方法減算にします。これによって、回転アンシャープマスク処理をされた画像が作られます。

[処理 5] 階調補正
前行程で作られた画像は、階調の低い暗いものです。例えば、γ=0.8の回転アンシャープマスクでは、できあがった画像の階調は、0.2(=1−0.8)しかありません。そこで階調をフルスケールに戻す必要があります。元画像は16bitファイルなので、フルスケールは65535です。γ=0.8で作った画像の階調のフルスケールは、13107(=65535×0.2)のはずです。そこで、階調レベル補正を開き、チャンネルRBGで、最大値13107を入力すれば、フルスケール65535階調の16bit画像ができあがります。私は、完成した画像の階調が飽和しないように、フルスケールをやや小さくして飽和しないように作りました。具体的には、最大値に入れる値に1.2倍を掛けて、15728(=65535×0.2×1.2)入力してやりました。完成した画像が、右図です。ここで、γの値に対する最大値に入力する値を、下表にまとめてあります。

処理3 最大値 処理5 最大値
γ 入力 γ 通常入力 1.2倍入力
0.95
268
0.95
3277
3932
0.9
283
0.9
6554
7865
0.85
300
0.85
9830
11786
0.8
319
0.8
13107
15728
0.75
340
0.75
16384
19661
0.7
364
0.7
19661
23593
0.65
392
0.65
22937
27524
0.6
425
0.6
26214
31457

以上、具体的な例をあげながら処理の方法を説明しました。この例では、θ=15γ=0.8という値で処理しましたが、いろいろな値で試してみることをお薦めします。



処理画像 1995年10月24日 インド皆既日食


元画像
元画像
回転アンシャープマスク
θ=5 θ=10 θ=15 θ=20
ぼかし θ=5
ぼかし θ=10
ぼかし θ=15
ぼかし θ=20
.
処理画像
補正
係数
γ=0.9
γ=0.9,θ=5 γ=0.9,θ=10 γ=0.9,θ=15 γ=0.9,θ=20
補正
係数
γ=0.8
γ=0.8,θ=5 γ=0.8,θ=10 γ=0.8,θ=15 γ=0.8,θ=20
補正
係数
γ=0.7
γ=0.7,θ=5 γ=0.7,θ=10 γ=0.7,θ=15 γ=0.7,θ=20
補正
係数
γ=0.6
γ=0.6,θ=5 γ=0.6,θ=10 γ=0.6,θ=15 γ=0.6,θ=20
ぼかし θ=5
ぼかし θ=10
ぼかし θ=15
ぼかし θ=20



元画像
元画像
γ=0.8,θ=15
処理画像 γ=0.8, θ=15




2001/02/13


トップに戻る。 トピックスに戻る。

ご意見、ご感想はこちらへお寄せください。
piz@star.email.ne.jp