2013 年 7 月の履歴(もしくは日誌)


2013 年 7 月

7 月 14 日

フリーウェアで古いレンズの歪曲収差を補正する

レンズの歪曲収差や倍率色収差などを画像処理で補正するのは今や当たり前になりました.でもレンズのデータが画像処理ソフトに登録されていければ歪曲収差補正はできません.古いレンズは今後も対応してもらえないだろうし,最新のレンズも画像処理ソフトが対応するまで待たなければならなかったり.
でも自分でレンズの歪曲収差を計測してデータを作れば大丈夫.
ここではいくつかのツールと方法を紹介します.

まず歪曲収差 (distorsion) のデータを作成する方法です.

フリーウェアなら,まずは Hugin に付属の「calibrate_lens_gui」を試してみるのが良いでしょう.Hugin は複数の画像をつなぎ合わせてパノラマ写真を合成するためのソフトウェアです.そういった合成では歪曲収差の補正が必要なので,レンズの歪曲収差を補正するためのツールが付属しているのです.歪曲収差を測定したいレンズで複数の画像を撮影します.画像は縦横に直線がくっきり写ったコントラストの高い画像が良いみたいです.calibrate_lens_gui で複数の画像を開きます.EXIF に焦点距離が入っていれば自動的に読み込まれますが,そうでなければ手で入力.焦点距離換算係数はフルサイズ FX フォーマットなら 1 ですが,APS-C とか DX フォーマットなら 1.5 とかの数値を入れます.読み込んだ画像の種類によってエッジ検出スケールとか閾値とかその他の値を調整する必要があります.とりあえず「線を探す」というボタンをクリックして画像の中の線が認識されるか試します.認識されると画面右側の画像に緑の線が引かれて,画面左上の画像ファイル名一覧のファイル名に何本線が見つかったか表示されます.0 本ではだめなので,オプションの欄のパラメータを調整してみます.どうしても駄目ならもっと違った画像を撮影して画像を差し替えましょう.線が見つかったら次にレンズの数値の部分の (a), (b), (c) のチェックを入れて,「以下を最適化」ボタンをクリックします.これで歪曲収差のデータが得られました.「レンズを保存」をクリックしてデータを保存しますが,ここでは lensfun 形式で保存しましょう.すると拡張子 xml のファイルができます.保存先は自分で分かるところに保存しておきましょう.この xml ファイルはテキストエディタで開く事ができます.テキストエディタで内容を確認して,必要があればテキストエディタで直接編集しても良いでしょう.

この (a), (b), (c) の値が重要です.これがわかればレンズの歪曲収差が決定でき歪曲収差を補正できます.

この Hugin の calibrate_lens_gui は読み込む画像や線を探す時のパラメータなどで精度がばらつきます.もしうまくできないときは (a) と (c) のチェックを外し (a) と (c) の値を 0 にして (b) だけにチェックをして最適化をやり直してみましょう.歪曲収差がわりと素直な場合は (b) の値だけでも悪く無いと思います.

有料のソフトウェアですがパノラマ写真合成ソフトの PTGui Pro でもこの (a), (b), (c) の値がわかります.パノラマ写真を合成してから「Lens Setting」のタブを開くと Lens correction parameters として a, b, c の値が表示されます.PTGui Pro ではパノラマ合成する時にこの値を自動的に算出します.パノラマ合成がうまく行ったときにはこの値も精度よく算出できているものと思います.

歪曲収差が計測できたら,このデータを使って画像を補正します.

フリーウェアでは darktable が良いでしょう.

Mac 版の darktable で保存した XML ファイルを利用するには,ちょっと手間がかかります.Finder で darktable のアプリケーションアイコンをキーボードの control キーを押しながらマウスボタンでプレスするとメニューがホップアップします.そのメニューの「パッケージの内容を表示」を選ぶと darktable の中身が表示されます.Contents/Resources/shere/lensfun にさっき保存した lensfun 形式で保存した拡張子 xml のファイルをコピーします.

その後で darktable で画像処理するときに「レンズ補正」でレンズを手動で選ぶときに,自分でデータを作ったレンズが選択できるようになります.

バッチ処理をしたい時は ImageMagick が利用できます.これもフリーウェアです.ImageMagick のサイトには英語ですがレンズの収差補正についてとても詳細に解説されたページがあるので,これを見ると良いでしょう.

こういうレンズの収差補正のツールとしては PTLens が有名ですが,PTLens に自分で作ったデータを加える方法がぼくには良くわかりません.誰か教えてください.

PTLens みたいなソフトで Mac 用には LensFix CI があります.これは a, b, c の値を手入力して自分のカスタムデータベースを作る機能があります.残念ながら LensFix CI は現在開発者の都合で販売停止中かな.

英語では歪曲収差補正の情報がいくつか見つかります.

Hugin の calibrate_lens_gui と Darktable の二つのフリーウェアを使って歪曲収差補正をする手順の詳細
Darktable, Lensfun, Hugin and a Pentax 25mm f1.4 CCTV Lens | Victor Dima
http://victordima.ca/darktable-lensfun-hugin-and-a-pentax-25mm-f1-4-cctv-lens/
Hugin の calibrate_lens_gui の使い方詳細
Creating lens distorsion models with Hugin's lens calibrator | Libre Graphics World
http://libregraphicsworld.org/blog/entry/creating-lens-distorsion-models-with-hugin-lens-calibrator
PTGui
有料.PTGui 単体でも一枚の画像の歪曲収差補正ができる.ぼくは試した事がないけど.
Photo stitching software 360 degree Panorama image software - PTGui
http://www.ptgui.com/
フリーウェア ImageMagick での歪曲収差補正について詳細
Lens Correction -- IM v6 Examples
http://www.imagemagick.org/Usage/lens/
LensFix CI.これは Mac 版のみ
LensFix | Kekus Digital, LLC | Kekus Digital
http://www.kekus.com/lensfix.html

Mac 前提でしたが,Mac 版のみなのは LensFix だけ.Linux 版が無いのは PTGui のみ.Hugin や Darktable,ImageMagick は Linux や Windows でも使えると思います.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20130714n1 TrackBack

7 月 7 日

デジタル一眼レフカメラ Nikon D600 を買った

今年はいろいろと大きなイベントがあるので新しいデジタル一眼レフカメラを買う事にした.これまで一眼レフは Nikon D40 を使っていた.それにノンレフレックスの Nikon 1 V1 も使っている.

今度買った Nikon D600 はセンサーの大きな FX フォーマットでいわゆるフルサイズだ.大きなセンサーだと高感度が良いのが魅力.

ひとまわり小さい DX フォーマットの D40 や,さらに小さい CX フォーマットの Nikon 1 よりも,画質的にはかなり良さそう.今はもっぱら Nikon 1 を使っているけど D600 は Nikon 1 と違いがはっきりしていて使い分けられると思う.コンパクトで持ち出しやすい Nikon 1 とシステムカメラとしてしっかりしていて高画質な D600.

最初はボディだけ購入するつもりで検討していた.レンズは D40 でも使っていた Nikon AF-S VR Micro Nikkor ED 105mm F2.8 G が使えるし,貰い物の Ai AF Nikkor 50mm F1.4D も使える.どちらも D600 で使うのに悪くないレンズだ.

でもやっぱり広角にも AF-S のレンズが欲しいなぁと.

過去の写真を統計してみたらやっぱり一番使っているのが 28mm くらいの画角みたい.D40 でも Nikon 1 でも持っているレンズの広角側が換算 28mm くらいからだから.

FX フォーマットの AF-S 単焦点単焦点レンズで 35mm は,高価な AF-S NIKKOR 35mm f/1.4G しか無い.28 mm だと f/1.8 のものがあってこっちは高くない.それで AF-S NIKKOR 28mm f/1.8 も同時に買う事にした.これは軽量だし D600 で使うのに良い感じだ.

ズームレンズも検討したけど FX フォーマットだと大口径広角単焦点レンズが選べるところが魅力.DX や CX だとそういうレンズは選べない.今後も持ち出すカメラは圧倒的に Nikon 1 な事が多いだろうから,便利なズームレンズは Nikon 1 用をそろえて行く事にして D600 では主に単焦点レンズを使おうと思う.

Nikon D600 と AF-S NIKKOR 28mm f/1.8 の組み合わせは天文ガイド 2013 年 1 月号の記事でテストされていたけど,カメラもレンズもかなりの性能だと思った.彗星の写真を撮れるかな.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20130707n1 TrackBack

[ 上に戻る]