レンズ収差の補正

収差にもいろいろなんだが、今回は色収差 (chromatic aberration)、なかでも、Transverse Chromatic Aberration (略してTCA)の補正をやってみる。楽しようと思い、Huginのsvnツリーを覗いたが、ワシのカメラ、S95のデータは未だ無かった。

今回も道具はHugin、正確にはツール群のfullaとtca_correctというコマンドを使用する。歪みモデルは四次の多項式で定義されており、今回の補正というのは、適当な写真からその係数を求めることだ。歪みモデルは、Panotoolsの記事、"Lens Correction Model"が詳しい。また、今回の手順は、基本的にPanotoolsの記事、"tca_correct"と同じ。

手順は下のとおり。

  1. コントラストの高い画像を用意する。
  2. tca_correctで係数を算出する。
  3. fullaで画像を補正する。
  4. 結果を検証する。


最近、Rawで撮影する機会があったのでやってみよう。写真は新宿御苑の桜、寄って撮りたいんだが、風で揺れるのでブラケッティングを諦め、Rawで撮影した。

tca_correctで補正係数を求め、fullaで補正を掛ける。

$ tca_correct -v -o bv IMG_6983.ppm 

image8 size:(3684x2760)
Finding interest points for matching... Matching interest points...
Number of good matches: 10, bad matches: 2
...snip
after 1 iteration(s):         0.758040167553265 units
Strategy 1
Average (rms) distance between Controlpoints 
after 2 iteration(s):         0.749377920394491 units
...snip
Strategy 2
Average (rms) distance between Controlpoints 
after 2 iteration(s):         0.572778080293735 units

Ctrl points before pruning: 968, after: 968
-r 0.0000000:0.0000404:0.0000000:1.0006352 -b 0.0000000:0.0000003:0.0000000:0.9998991

$ fulla -r 0.0000000:0.0000404:0.0000000:1.0 -b 0.0000000:0.0000003:0.0000000:0.9998991 -o IMG_6983_Fulla.ppm IMG_6983.ppm 
    correcting image:                                                    :   - 
                                                                               


左が補正前、右が補正後。かなりイイ感じ。青みのあるハローが目立たなくなっている。