作成:2021・04・26

お断り:恐縮ですが、個人的な感想と独断です。


HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED の歪曲補正(その2)

魚眼画像-広角画像変換ソフト「uonome」の最適化
 


HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 EDによる部分円周魚眼画像。
変換後の画像がどうなるか予想できないところにハマります。K-1で撮影。

【 Part 1 】 オリジナル uonome のカスタマイズ
Tiny uonome での改善
 
 最初に、オリジナルの「uonome」を修正したいと思ったところは主に下記の3点です。オリジナルの表示ウインドウのデザインは極力変えないようにしました。ソースプログラムの変更、追加は、自分には能力がないので最小限のことしかできないというのが正直なところです。

 1.調整するときのスライダは連続的に軽く動くようにする
大事なパラメータのスライダが、断続的で思ったような値にならないところがありました。操作が重く調整に難儀することもありました。そこで、パラメータの「RAD_FISH_VAL」と「DIST_FISH_VAL」のスライダを伸ばして、FISH-EYE 10-17mmで使う範囲に調整レンジを狭めて、多少なりとも連続的にスライダ調整ができるようにしました。また、調整するときは小さいXSサイズ(最大1920×1280px)の画像にしたので、スライダが軽く動くようになりました。

 2.リサイズしなくても処理できるようにする

  フルフレーム(フルサイズ)のLサイズ(7360×4912px)画像を読込んだ後、調整は小さいXSサイズ(最大1920×1280px)の画像で軽くして行い、大きなサイズで結果をセーブするようにしたかったのですが、PC次第です。タスクマネージャで見てると、メモリの余裕があるときは、Mサイズ(5760×3840px)でセーブできたりします。メモリが4GBのPCでも、APS-CのLサイズ(4800×3200px)なら、メモリ不足の"OutOfMemoryError"で止まることなくセーブできそうです。
K−1で撮影したLサイズのフルフレーム画像を処理して、そのままLサイズでセーブするには、さすがにメモリの空き余裕が2GB以上は必要です。

 3.陣笠歪みを改善する

  対角魚眼画像ではあまり不満は感じないのですが、HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 EDを10mmで撮影した円周魚眼画像をuonome補正すると、歪曲は完璧な直線にならず、陣笠歪み(陣笠収差)が残ったりします。「uonome」は正射影の魚眼レンズを想定していますが、この魚眼ズームの射影方式と違うからでしょう。そこで、感覚を頼りに簡単な2次の式で周辺を補正し、効きを微調整するスライダを追加します。
今までは、広角画像にした後に「Silkypix」で歪曲補正をしていましたが、この操作が1回は省略できます。なお、周囲画像の流れや崩れも改善される理屈ですが、見てもよく判りません

 このソフトの一連の操作の流れは、オリジナルと同様で、起動したら、ファイルを開き、パラメータを設定して補正しファイルを保存して終了となりますが、大きなサイズで再計算する「EXECUTE」ボタンをクリックしてからセーブするようにしました。下に、uonome と Tiny uonome の使い方を示しますが、Tiny uonome に関連する箇所を着色しています。

 
魚眼画像-広角画像ソフト Tiny uonome の使い方


 1.Tiny uonomeを起動したら

ドロップダウンメニューの左は「IHVERTED FISHEYE CONV」を選び、右から補間方法を選ぶのですが、起動時には、「IHVERTED FISHEYE CONV」と「BICUBIC」になっています。また、ガンマカーブ「GAMMA_S」明るさ「GAIN_S」と「CROP_H_VAL」「CROP_V_VAL」のスライダーも、おそらく起動時の設定を変える必要はないかと思います。「RAD_FISH_VAL」「DIST_FISH_VAL」は、調節したことのある焦点距離(画角)ならば、同じ値で設定しましょう。
なお、画像をクロップするパラメータの「CROP_H_VAL」と「CROP_V_VAL」がいずれも 0 だと、画面サイズの比率は 3;2 になります。よければ、ファイルを開きます。


 2.ファイルを開く

「LOAD SOURCE IMAGE」ボタンをクリックして目的のファイルを開きます。


 3.Tiny uonome補正

歪曲補正は「RAD_FISH_VAL」で調節します。最も大事な調節項目です。スライダを左に動かしてこの数値を減らすと糸巻き型に歪んで周辺の画像は大きくなり、右に動かして数値を増やすと樽型に歪んで周辺の画像は小さくなります。
「DIST_FISH_VAL」は、スライダを左に動かして、この数値を減らすと表示される画像は縮小され、右に動かして数値を増やすと拡大されます。
Tiny uonomeでは、「RAD_FISH_VAL」「DIST_FISH_VAL」のスライダを大きくしていますが、オリジナルと同様で段階的な数値の調節となります。そこで、「FINE_ADJ」を追加して、「RAD_FISH_VAL」の効きを微調整できるようにしました。


 4.ファイルの保存

Tiny uonome では、調整用の小さなXSサイズの画像(最大1920×1280px)で作業をします。「EXECUTE」ボタンをクリックすると、メモリの余裕を考慮して、画面サイズは、4800×3200pxを上限として再計算します。「EXECUTE」ボタン下に画像の幅を示す緑の数字が表示されていますが、「SAVE IMAGE」ボタンの下の白い数字が表示されているうちは再計算中です。
「EXECUTE」ボタンをクリックせずに、「SAVE IMAGE」に進むと、調整用の小さなXSサイズの画像(最大1920×1280px)が保存されます。


「SAVE IMAGE」をクリックし、ファイル名を入力してファイルを保存します。
ファイルを保存する時に、単純にファイル名だけだと「tif」形式になってしまうので「ファイル名.jpg」と拡張子まで入力します。(.pngも可)


 5.終了

問題がなければ、「EXET」をクリックしてuonomeを終了します。


 6.その他

既に調節したことがあり、撮影レンズの焦点距離に対応したパラメータが既知の場合、次からは同じパラメータを設定してファイルを開くだけです。


パラメータ「RAD_FISH_VAL」「DIST_FISH_VAL」「FINE_ADJ」を調整中


 Tiny uonomeは、HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED 専用ではありませんが、uonomeで、追加や修正したいと思ったことが、まがりなりにも実現できて、気の向くまま使ってみて楽しむことができます。

 


次の課題
 
 しかし、三つのスライダで調節することになってしまい、かえって使いづらく感じるようになってきました。焦点距離から対応したパラメータが決まれば作業は楽だと思うようになりました。
 目指すところは、魚眼画像-広角画像変換の「簡単操作」です。何とかして、HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED の専用ソフトにしたいと思います。

 

 

前のページ  次のページ


 更新日 : 2021・08・20.
 Product Code 23130

 

      余 談

[メモ] 「uonome」に関する復習
 
 作者のブログを拝見すると「uonome」は、"教えて!goo" の2001/02/28の質問と2001/03/05の回答にインスパイアされて作られたようです。そして、この日付に目を疑いました。そもそもが、フィルムカメラの時代です。ワタシがWindows98 SEを使っていた時代に、512×512pxの魚眼画像を変換するプログラムを作ろうとしていた人と回答する人がいたのには驚きです。回答は、魚眼画像イメージを変換する方法だけでなく、補間までアドバイスされていました。回答の文章をイメージ図にしてみると以下のようになります。まさに正射影です。では、HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED の射影方式は ・・・等距離射影らしい。
 


 正射影の魚眼レンズといえば、OP Fisheye-Nikkor 10mm F5.6ぐらいしか思い浮かびません。とはいえ、180°対角魚眼画像であれば、別段おかしなことになりません。HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 EDの射影方式は定かではありませんが、焦点距離 10mmで撮影した魚眼画像をuonome補正をした写真の歪曲は完璧な直線にならず、少し陣笠歪み(陣笠収差)が残ったりします。画像の崩れも四隅に行くほど顕著になります。まずは、魚眼画像と同じ焦点距離の広角画像を得るという方針で、同程度の焦点距離の広角レンズ画像に変換することは出来ました。
 もっと焦点距離が短い広角レンズ画像にできないか試してみましたが、周辺のシャープネスが甘くて、焦点距離が 8mm、9mm相当では、ピクセル等倍で見るのは無理があります。やはり撮影した時の焦点距離程度に留めるのが無難というのが前回の結論でした。

余談の先頭に戻る