Raspberry Piカメラに望遠レンズ

と言っても、本格的な一眼レフ用の望遠レンズではなく、CCD・監視カメラ用の小さめの望遠レンズで、安価なレンズを使いました。

Raspberry PiにCSマウントやM12マウントのカメラ・モジュールを接続すれば、レンズ交換することができます。

レンズ交換によって、通常のカメラモジュールとは異なる様々な画角で画像・動画を撮影することができます。

CS/M12マウントのカメラモジュールに何種類かレンズを取り付けて、画角の違いを見てみました。記録しておこうと思います。


レンズ交換が可能なRaspberry Pi用カメラモジュール

CSマウント・カメラモジュール

500万画素のCSマウントカメラモジュールを購入してみました。型番は「Arducam B0032」になります。800万画素のものも発売されているようです「Arducam B0102」

このような感じで、レンズを外して付け替えることができます。


M12マウント・カメラモジュール

M12マウントの場合、800万画素のカメラモジュールは「Arducam B0103」、500万画素は「Arducam B0031」のようです。写真は800万画素のものになります。M12マウントレンズの購入は注意が必要です。

製品によりフランジバック(レンズとCMOSイメージセンサとの距離)が異なるため、カメラモジュールに取り付けられない場合があるようです。

試しにM12マウントのレンズを2つ購入しましたが、どちらもフォーカスが合わず、使えませんでした。レンズホルダ(ナット)の長さが足らない感じです・・・

結局、M12のレンズは、後述の変換アダプタを使って、CSカメラモジュールで使用しました。

※19.7.5追記:M12マウントの画角は、こちらに新しい記事が御座います。


CSマウント/M12マウントは相互に変換可能

変換アダプターを用いることで、CSマウントレンズをM12カメラモジュールに取り付けたり、M12マウントレンズをCSカメラモジュールに取り付ける事ができます。 

前述のように、M12マウントレンズは相性の問題があるようですので、CSマウントのカメラモジュールを購入し、変換アダプタを利用したほうがレンズの互換性が高いようです。


カメラモジュールをケースへ固定する方法

レンズを回して付け替える都合から、カメラモジュールをガッチリ固定したほうが、レンズの付替えが楽になります。個人的な好みから、Raspbery Piケースへ固定してみました。

と言っても、こちらの型紙を使い、4つ穴を開けて、M2 10mmのビスで固定しただけですが・・・ケース内側に固定したほうが格好良さそうですね。

CSマウント、M12マウントともに手持ちのカメラモジュールの基板の大きさは同じ(36×36ミリ)でした。


レンズごとの画角の違い

カメラモジュールによる撮影は、スマートフォンからRaspberry Piを操作し、RPI cam web interfaceで撮影しました。

レンズごとの画角の違いを調べようと思いますが、まずは基準として一般的な35mmの標準の画角と、(レンズ交換ではない)通常のカメラモジュールの画角を調べてみました。


一般的な35mmレンズの画角

画角を比較するため。まずは手持ちのデジカメで、一般的な35mmの画角を撮影してみました。このような感じです。35mm 標準

こちらがほぼ標準の画角になります。中央の紅白の鉄塔の大きさと、画面の両端、右と左に写っている電柱のようなものを比較すると、画角の違いがわかりやすいかと思います。


通常のカメラモジュールV2の画角

800万画素のRaspberry Pi V2カメラモジュールの画角はこのような感じです。CS/M12マウントではなく、通常のカメラモジュールです。カメラモジュールV2

標準と比較すると、撮影可能な範囲が広く、広角であることがよくわかります。鉄塔は小さく、電柱のようなものは画面の中央寄りに写っています。(この写真は35mmとは別の日に撮影しました)


CSマウント・レンズの画角

CSマウント・カメラモジュール付属レンズ

付属のレンズはこのような感じです。

CS付属 F値不明 固定絞り 焦点距離不明 ホワイトバランス:オート CS付属 F値不明 固定絞り 焦点距離不明 ホワイトバランス:オフ

鉄塔はやや小さく、広角で、魚眼のような歪みが見られます。両端の電柱が平行ではありません。

なお付属のレンズは接写が可能です。


CSマウント3.5-8.0mmレンズ

焦点距離:8.0mmのレンズはこのような感じです。CS F1.4 可変(手動)絞り 焦点距離3.5-8.0mm ホワイトバランス:オートCS F1.4 可変(手動)絞り 焦点距離3.5-8.0mm ホワイトバランス:オフ

3.5mmの場合は広角~標準ですが、8mmの場合は望遠の画角になりました。


CSマウント6.0-15mmレンズ

15mmレンズはこのような感じです。望遠ですね。CS F1.4 可変(手動)絞り 焦点距離6.0-15mm ホワイトバランス:オートCS F1.4 可変(手動)絞り 焦点距離6.0-15mm ホワイトバランス:オフ


CSマウント16mmレンズ

16mmレンズはこのような感じになりました。さらに望遠になりましたが、MP(メガピクセル)に対応していないせいか、解像度は低く、ぼやっとした感じです。
CS F1.2 固定絞り 焦点距離16mm ホワイトバランス:オートCS F1.2 固定絞り 焦点距離16mm ホワイトバランス:オフ


M12マウント・レンズの画角

M12マウント・カメラモジュール付属のレンズ

カメラモジュール付属レンズの画角はこのような感じです。

M12付属 F値不明 固定絞り 焦点距離不明 ホワイトバランス:オートM12付属 F値不明 固定絞り 焦点距離不明 ホワイトバランス:オフ

ずいぶん広角で、魚眼のような歪みが見られます。こちらも接写が可能です。


M12マウント魚眼1.8mm

魚眼レンズ、5MP 赤外線(IR)対応 1.8mmレンズの画角はこうなりました。M12 魚眼 焦点距離1.8mm ホワイトバランス:オートM12 魚眼 焦点距離1.8mm 魚眼 ホワイトバランス:オフ

魚眼レンズで近くのものを撮影すると、このような感じになります。


M12マウント魚眼2.1mm

2.1mm魚眼レンズの場合はこのような感じです。

M12 魚眼 焦点距離2.1mm ホワイトバランス:オートM12 魚眼 焦点距離2.1mm ホワイトバランス:オフ


紫色の口径食?フレア?

CS/M12マウントのカメラモジュールで、いろいろなレンズを取り付けて、画角を調べてみました。

画角よりも気になるのは、画像の端が赤紫色になる現象です。

Raspberry Piの公式フォーラムで関連情報を調べたところ、カメラモジュールの色の特性(ホワイトバランス・テーブル)の違いや、赤外線フィルタの影響といった説が書かれていました。CMOSイメージセンサに塗布された赤外線フィルタをヤスリで削る方法も紹介されていましたが・・・有効な対策は見つかっていない状況です。

画質向上のために試してみたこと

下記の事を試してみましたが、画像の端が赤紫になる現象は改善しませんでした。

  • レンズの絞りを調節
  • レンズフード取り付け
  • CMOSイメージセンサ部分を密閉して光の漏れを防ぐ
  • UVカットフィルタを付ける
  • UV&IRカットフィルタを付ける

また次のソフトウェアで撮影しましたが、同じような状況でした。

  • RPI Cam Web Interface
  • MotionEyeOS
  • RaspistillWeb

RPI Cam Web InterfaceとRaspistillWebは、ホワイトバランスや絞り等の設定を変えて試してみましたが、変化はなく・・・・ソフトウェアで工夫するレベルの問題ではない感じでした。

イメージセンサー?レンズ?どちらが原因?

原因はカメラモジュールなのか、レンズなのかを切り分けるため。正常に撮影できるV2カメラモジュールを改造して、M12マウントレンズを取り付けてみました。

これを

このように、V2カメラモジュールにM12レンズを取り付けるマウンタを取り付けてみました。マウンタは3Dプリンタで印刷したものです。ライセンスの都合で直接お見せできませんが、海外のサイト(thingiverse.com)で配布されているものです。

V2カメラモジュールにM12魚眼レンズを取り付けて撮影した画像はこうなりました。

隅のほうが紫色ですね。

原因はイメージセンサーではなく、レンズの影響かもしれませんね(´・ω・`)


Raspberry Piのカメラモジュールに望遠レンズを取り付けて撮影して見ましたが。

画質の良い画像を撮影するには、それなりに良いレンズが必要なのかもしれません。

望遠レンズを取り付けることができるカメラモジュールは

  1. CSマウントのカメラモジュール
  2. M12マウントのカメラモジュール

がありますが、汎用性はCSマウントのほうが高そうです。

3Dプリンタを使用すれば、第三の方法

  1. カメラモジュールを改造して取り付ける方法

も選択できる事がわかりました。ちなみに、必要な3Dプリンタのスペックは、積層ピッチが0.1mm以下のものとわかりました。0.2mmではネジ山の解像度が不足してレンズが取り付けられませんでした。もし3Dプリンタにご興味が御座いましたら、こちらの記事を御覧ください。

長々と書かせて頂きましたが、最後までご覧頂きまして誠にありがとうございました!

※19.7.5追記:

M12マウントの画角は、こちらの記事も御座います。

スポンサーリンク

フォローする

スポンサーリンク

コメント

  1. tama より:

    ラズパイのカメラ周りでレンズをいじりたいと思って検索をしたらこちらにたどり着きました。
    自分がこれからやろうと思っていたことが詳細にまとめて頂いており大変参考になります。
    今後とも参考にさせてください!

    • hide より:

      tamaさん はじめまして
      コメント頂きまして、誠にありがとうございます。

      拙い記事ですが、コメント頂き大変嬉しく感じます。
      最近、更新が滞っておりますが、落ち着いたら新しいネタで記事の追加・更新させて頂きたいと思います。

      今後とも宜しくお願い致します。

  2. 竹下 より:

    はじめまして。
    7メートル先をこのズームレンズを使って、拡大したら、スケールのメモリは読めそうですか?

    • hide より:

      はじめまして!
      コメント頂きありがとうございます。

      7メートル先のスケールですか、ふむふむ。
      極端な話ですが、スケールのメモリが特大でしたら、読みやすいと思いますが。
      スケールがどれくらい小さいかが問題かと思います。

      素人ながらで恐縮ですが、下記をご確認頂ければと思います。

      1. CMOSモジュール(CCD)の解像度 → 問題なさそうです
      はFullHD以上ありますので、7メートルの距離でも解像度は問題無いと思います。

      2. レンズの倍率と解像度 → HQカメラがおすすめです
      ですが、レンズの倍率が高くても、レンズの解像度が低いとぼやけてしまいます。
      倍率が高くて、解像度が高いレンズは、Raspberry Pi HQ Cameraのほうが良いと思います。

      こちらの記事になります
      Raspberry Pi HQ Cameraの画角は?

      3. 明るさ → スケールに照明はつけますか?メモリの文字は太いですか?
      撮影する対象が暗いと、解像度が落ちて、メモリが読み取りずらくなります。
      メモリは屋外でしょうか?屋内でしょうか?日光は当たりますか?夜間も撮影しますか?
      くっきり撮影するためには、なるべく明るいライトで照らしたほうが読み取りやすいと思います。
      使用するスケールのメモリも、文字が太いほうが、白飛びしないと思います。

      まずは、このあたりをご検討されてはいかがでしょうか?

  3. 竹下 より:

    参考にさせて頂いております。
    よろしくお願い致します