作成:2021・06・03

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


HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED の歪曲補正(その2)
( SMC PENTAX-F FISH-EYE 1:3.5-4.5 17-28mm 追記 )

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


SMC Fish-Eye-Takumar 17mmF4の試写です。EOS 5Dで2007年2月撮影。
4368×2912pxなので「K17/4」は快調。でも、変換しないほうが良い絵柄です。

【 Part 3 】 HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED専用カスタマイズ
Auto uonome(Auto uonome Plus)の完成
 2021・08・07. Auto uonome Plus 追加:ここでは、Auto uonome Plusに関連する箇所を着色しています。

 Semi-auto uonomeでは、フルフレームサイズかAPS-Cサイズで撮影したのかを判断して設定することと、スライダーで焦点距離を合わせることが必要でした。条件が整えば、焦点距離は撮影情報(Exif情報)から読み込むことができます。「スライダーで簡単補正」から、魚眼画像ファイルを開くだけの「簡単補正」の境地になりました。恥ずかしながら、やっと辿りついたという状態です。恐れ多くも、Auto uonomeと称することにします。そして、元祖の SMC PENTAX-F FISH-EYE 1:3.5-4.5 17-28mm の魚眼画像を補正をしてみたくて追加したのが、Auto uonome Plusです。
 なお、撮影情報のレンズIDは、HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 EDのはずなのに、先代のsmc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED [IF] と同じレンズIDです。区別する情報は何かあるはずですが解りません。とりあえず支障はないようです。ここで反映したことと諦めたことを以下に示します。

 1.操作の簡略化
ファイルを開いた際に、撮影した時の焦点距離とフォーマット(35mm版かAPS-C版か)を、撮影情報(Exif情報)から読み込むことで、HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED 専用の Automatic versionになりました。
フルフレームの対角魚眼画像や、APS-Cサイズならば、撮影情報(Exif情報)から読んだ焦点距離でパラメータを決定してもほぼ満足な結果となります。しかし、フルフレームでは撮影情報の焦点距離はアバウトなので、焦点距離に連動した円を魚眼画像に重ねて焦点距離を調節する機能を残しました。
もう一つの理由があります。レンズの個体差もあり、若干の樽型歪みは個人的な好みで良しとしました。焦点距離スライダを左にスライドさせると糸巻き型になります。お好みで糸巻き型/樽型の歪みを微調整することができます。

 2.おまけ(倍率変更)機能の追加

  撮影した時の焦点距離と同じ焦点距離の広角画像に変換することを目指しています。「簡単補正」の趣旨から離れてしまうので迷いましたが、対角魚眼画像では少し縮小したほうが自然です。そこで、0.8倍から1.2倍の倍率変更スライダーを追加することにしました。なお、下のコラムに記載したように縮小側は制約がありますのでご注意ください。
APS-Cサイズで撮影したものや、対角魚眼画像に近ければ、ズームコンバーターのような使い勝手でフレーミングできると思います。しかし、10mmの魚眼画像を0.8倍で変換したものは、陣笠歪みが僅かに残り周辺の画質も不足します。広角側は、納得できる範囲に留めることが無難かと思います。

 3.補正の見直し
上のおまけで使用範囲が広がります。Semi-auto uonomeでは、周辺の補正式の微調整は焦点距離の変数にしていましたが、倍率変更しても違和感がないよう3次の近似式に見直し、併せて、焦点距離とパラメータの関係も若干見直しました。なお、Semi-auto uonomeにあった焦点距離から求めた各パラメータの表示は省略しました。下の補正のサンプルのように、僅かに樽型の歪みを残すが好みです。ご容赦ください。

 4.Auto uonome Plus での追加・改善
元祖SMC PENTAX-F FISH-EYE 1:3.5-4.5 17-28mmにも対応すると、マニュアル操作のためにスライダーと選択ボタンの追加が必要なので操作画面は複雑になりますが、ファイルを開くだけの「簡単補正」は堅守します。
FISH EYE タクマー/SMC PENTAX FISH EYE 17mmF4 の魚眼画像を補正するのは諦めていたのですが、勝手ながら、この改訂でマニュアル操作で補正できるようにしました。K−1だけでなくα7RII で撮影した画像もあるので、最大7952×5304pxの変換画像も得られるようにしました。

 5.諦めたこと

  縦ファイルサイズが大きいと勝手に横アングルになったりしますが 。。。画像のファイルを自動的に回転して uonome処理し、セーブした画像を縦アングルに戻すことも考えましたが、そもそも、出来たJPEGファイルのヘッダーにExif情報はありません。リスキーなので断念しました。

写真のアスペクト比は 2:3 ですが、ワイドモニタは16:9です。ワンタッチでクロップ出来ると良いのですが、「CROP_V_VAL」を16%にすればよいので止めました。(15.625%が理想ですが)

先代のsmc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED [IF] は、等距離射影だという話を見つけたので試してみましたが、周辺はなかなか理屈通り行きませんでした。

魚眼画像-広角画像 Auto uonome補正のサンプル
焦点距離10mmで撮影した魚眼画像のAuto uonome補正

焦点距離14mmで撮影した魚眼画像のAuto uonome補正


元の魚眼画像


Auto uonome補正画像


倍率変更画像(0.8倍)
 


元の魚眼画像


Auto uonome補正画像


倍率変更画像(1.2倍)
 


 
魚眼画像-広角画像ソフト Auto uonome( Auto uonome Plus )の使い方



 1.uonome処理の準備

元のファイルがRAWファイルの場合は、現像してJPEGファイルを作ります。カメラ内現像で作ったJPEGファイルしかない場合は、作業用のフォルダにコピーしてからuonome処理をしましょう。
このとき、倍率色収差補正をして色ズレを解消します。縦アングルの写真は、いったん横アングルに回転しておきます。撮影情報(Exif情報)のレンズIDを温存するには、Slkypixよりも、カメラに同梱のDigital Camera Utility 5が良いようです。

 ※ 他のソフトでは、Exif情報が書き換えられてAuto uonomeで情報が読み込めなくなることがあります。


 2.Auto uonome( Auto uonome Plus )を起動したら

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


 3.ファイルを開く

「LOAD SOURCE IMAGE」ボタンをクリックして目的のファイルを開きますが、ドラッグ&ドロップはできません。オリジナルのJPEG画像なら撮影情報から撮影したときの焦点距離が読み込まれてExif情報の焦点距離が表示されます。元の画像ファイルが「APS_C」か「FULL_FRAME」かは、35mm換算焦点距離から選択されます。K-1でクロップを1:1(ボルタ版サイズ 24mm×24mm)にした画像は「FULL_FRAME」で変換されます。
Exif情報のメーカーノートからレンズIDが確認出来た場合は「LENS ID」の緑ランプが点灯します。確認できないときは、他のレンズで撮影した写真でないかも点検してください。
 


倍率変更スライダー「MAG_FACTOR」は、あらかじめ0.8倍にしています。
 


Auto uonome Plusでは、Exif情報のメーカーノートからレンズIDが確認できると「SUSPEND」の黄ランプは消灯して「F10_17MM」か「F17_28MM」の緑ランプが点灯します。確認できないときは、「SUSPEND」の黄ランプは点灯したままです。
 


Auto uonome Plus の操作画面:マニュアルの設定項目が増えても、Auto補正は開くだけです。


 4.uonome補正

フルフレームで15mm以下の焦点距離の場合「SCALE」ボタンを押すとスケール円が魚眼画像の上に描かれます。焦点距離の「FOCAL_LENGTH」スライダーで、魚眼画像の外周に円を合わせることができます。
対角魚眼や、APS-Cで撮影された場合は、焦点距離の神経質な微調整は必要ないかと思いますが、スライダは0.05ピッチ(Auto uonome Plusでは0.1ピッチ)で微調整できるようにしています。なお、起動時はこのスラーダーはフレームアウトしていますが、スライダーをクリックすると頭が出てきます。
撮影情報が削除されている場合などは、Semi-auto uonomeと同様のマニュアル設定となります。撮影したフォーマットサイズを「APS_C」か「FULL_FRAME」で選択して焦点距離を「FOCAL_LENGTH」スライダーで設定します。
Auto uonome Plusでのマニュアル設定は、「APS_C」か「FULL_FRAME」を選択して「F10_17MM」か「F17_28MM」を選択した上で、下のスライダー「FOCAL_LENGTH_A」または「FOCAL_LENGTH_B」で撮影した時の焦点距離を設定します。
蛇足の「K17/4」という「セミ・オート簡単補正」ボタンをクリックすると、多少おおまかですが FISH EYE Takumar 17mmF4と SMC Pentax FISH EYE 17mmF4のパラメータが設定されて処理されます。充分実用になるかと思います。


「IMAGE」ボタンをクリックすると、表示される画像が「SOUCE」から「CONVERTED」に切り替わります。uonome補正はすでに終わっているかと思います。


倍率変更スライダーを0.8倍にして補正しているので、焦点距離は 8mm相当です。


 5.保存画面サイズを選ぶ

Auto uonome は、メモリの余裕を考慮して「LARGE」と「SMALL」二つのボタンを用意しました。それぞれ、画面サイズ最大7360×4912px(Auto uonome Plusでは 7952×5304px)または4800×3200pxで再計算します。「SAVE IMAGE」ボタン下に画像の幅を示す緑の数字が表示されていますが、「EXECUTE」ボタンの下の白い数字が表示されているうちは再計算中です。画面サイズは、これを上限として元の魚眼画像と同じになります。なので、元の魚眼画像が、APS-Cサイズであった場合、「LARGE」をクリックしても、元の魚眼画像と同サイズの広角画像になり、フルフレームLサイズには拡大はされません。(例:K-3 Mark III のLサイズだと6192x4128px)
「LARGE」または「SMALL」の「EXECUTE」ボタンをクリックせずに、「SAVE IMAGE」に進むと、調整用の小さなXSサイズの画像(最大1920×1280px)が保存されます。


 6.ファイルの保存

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


 7.終了

保存したら、「EXET」をクリックしてAuto uonomeを終了します。(続けて、3.ファイルを開くで、新しいファイルを開くこともできますが、クリアされない設定にご注意ください。)


 8.その他

Windowsでは、とりあえずフォトやフォトビュアーで回転して閉じるとExif領域が出来て画像方向が設定されます。
レンズの個体差もあり、歪曲を微調整の効きは焦点距離で微妙に変わりますがご了解ください。

Auto uonome Rev.1 :「EXECUTE」ボタン「FF_L」と「APSC_L」を、それぞれ「LARGE」と「SMALL」に名称変更
 

 


最後に
 
 ※ K-1()で撮影した場合です。K-S1も確認しました。
   なるべく多くのボディでも使えるよう、撮影情報(Exif情報)の読込方法を改めました。
(下段のコラム参照)
   未確認ですので、まずは試してみてください。


 先代のsmc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED [IF] から引き継いでいる倍率色収差ですが、uonome補正で周囲が拡大されるので、カメラに付属する「Digital Camera Utility」などで事前に魚眼画像の倍率色収差を補正をしておくことをお勧めします。

 Processingには、アプリケーションとしてエクスポートする機能があります。Windows環境では、WindowsとLinux用がエクスポートできます。次のページで、ここでカスタマイズした Tiny uonome、Auto uonome、Auto uonome Plusをエクスポートして公開しましたので、お試しください。

 

 

前のページ  はじめに戻る  次のページ


 更新日 : 2021・12・08.
  Product Code 23130:10-17mm
  Product Code 27000:17-18mm

 

      余 談

[メモ] 倍率変更機能 縮小倍率の制約
 
 おまけ機能として追加した倍率変更機能の0.8倍から1.2倍の倍率変更スライダーですが、変換した広角画像は下の写真のように縮小側に周囲がケラれて欠ける限界があります。およその限界を下記に示します。


SMC PENTAX-F FISH-EYE 1:3.5-4.5 17-28mmを28mmで撮影して0.8倍に縮小した画像です。

HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED の場合
フルフレームAPS-C
  10mm  12mm  14mm  17mm
  ×0.80 ×0.80 ×0.80 ×0.83
   10mm  12mm  14mm  17mm
  ×0.80  ×0.85 ×0.89 ×0.93
SMC PENTAX-F FISH-EYE 1:3.5-4.5 17-28mm の場合
フルフレームAPS-C
  17mm  20mm  24mm  28mm
  ×0.80 ×0.88 ×0.93 ×0.93
   17mm  20mm  24mm  28mm
  ×0.95 ×0.95 ×0.97 ×0.97

 SMC PENTAX-F FISH-EYE 1:3.5-4.5 17-28mm の場合、射影方式が違うため変換画像の周囲にあまり余裕がありません。フルフレームならともかく、APS-Cでこのレンズを長焦点側にズームして撮影し、倍率変更で縮小することに積極的な意味はないでしょう。
 

余談の先頭に戻る

 

[メモ] 対応機種の拡大
 
 JPEG画像の撮影情報(Exif情報)では、情報データの「並び順」が、下位アドレスにデータの上位バイトを置くビッグエンディアン(big endian)と、下位アドレスにデータの下位バイトを置くリトルエンディアン(little endian)の二通りあるそうですが、全く気にしていませんでした。
 Auto uonomeもAuto uonome Plusも、K-1で撮影した魚眼画像ファイルを開いただけの「簡単補正」をしていたのですが、K-S1は、幸運にもK-1の撮影画像と同じエンディアンでした。

 しかし、ペンタックスのAPS-C版DSLRは、機種によってエンディアンが違うので、「簡単補正」が出来ずに、ご不便をおかけしていたかも知れません。そこで、どちらのエンディアンのExif情報データも読めるようにしてみましたので、かなり多くのAPS-C版DSLRで撮影した魚眼が「簡単補正」できると思います。
 全ての機種で大丈夫かというと、自信はありません。機種によっては、問題はエンディアンだけではないかと思いますのでご容赦ください。
 お断りしておきますが、持っているボディは、アップデートしたK-1とK-S1だけなので、下の1と2に記載したことは全くの推測です。それも、ファイルを開くだけの「簡単補正」に必要な限られたExif情報だけの話です。
1 2013年発売のK-50まで、2013年以前に発売された機種のExif情報は、メーカーノート領域を含めて全てビッグエンディアンのようです。
2 2014年発売のK-S1のExif情報は、メーカーノート領域を含めて全てリトルエンディアンになっています。2013年発売のK-3から、全てリトルエンディアンとなったようです。
Exif情報のメーカーノート領域だけはリトルエンディアンのまま、ビッグエンディアンに変更してしまう悩ましいソフトがあります 。。。混在したExif情報も対応します。

 くどいのですが、写真編集ソフトを使うと、Exif情報が温存されず、ファイルを開いただけの「簡単補正」ができなくなることが多々あります。カメラ内現像で作ったJPGファイルか、「Digital Camera Utility」で現像したJPGファイルにしてください。
 
 それにつけても、カメラに付属する「Digital Camera Utility」の新しいバージョンでは、HD PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 EDと、先代のsmc PENTAX-DA FISH-EYE 10-17mm F3.5-4.5 ED[IF]をどのように区別しているのか未だに判りません。

2021・12・08. 追加

余談の先頭に戻る