今までに書いたカメラ関係の記事を整理します。
-
訳 カメラ校正
- OpenCV3.0-beta OpenCV-Python Tutorialsへの和訳です。
- OpenCV 3.1.0 OpenCV-Python Tutorials がリリースされています。
-
OpenCV-Python Tutorialsの「カメラ校正」への補足
- ステレオカメラ関係の情報を追記しました。MeshLabを使ってステレオカメラの結果を3次元表示するのがお勧めです。視差画像を0-255の範囲で正規化して画像ファイルに保存して表示させるのは推奨しません。できればpythonでmatplotlibのimshow()を使って表示することを推奨します。その場合だとjetなどのcolorbarの表示を付けることができますし浮動小数点の行列をcolorbarの上限と加減を、plt.imshow(mat, vmin=-10.0, vmax=20.0)などのようにしてあつかえるので、参考にしてください。その他のことも書いています。
-
LinuxでUVC(USB Video Class)タイプのUSBカメラを使う
- カメラ関係のプログラムを書く際には、Windowsだけではなくとか、Linuxとで状況が違ってくることがあります。そこで気づいた範囲のことを記述しています。RaspberryPiでは簡単にUSBカメラを使う事ができますし、RaspberryPiの専用カメラの性能があがってきています。カメラ関係の記事が多い「インタフェース」の紹介を示しました。
-
- ステレオカメラやロボット用に用いる場合、カメラの取得した画像がいつのタイミングで取得されたかがとても重要になります。特にOpenCVのVideoCaptureでは、画像がバッファリングされているので、画像をreadする頻度が少ないと、数秒前の画像を取得していたということにもなりえます。
-
- USB2.0の場合だと、解像度とカメラの接続台数とフレームレート(fps)の組み合わせに制限が大きくなりがちです。USB3.0では帯域が大きく広がるため、解像度の高いカメラを複数接続することが可能になります。
-
- Stereo Cameraの市販品とその他の距離センサの1例を示しています。
-
- 組み込み機器に使うためには、M12のレンズを使う場合が多いので、M12のレンズについての調査をしやすくするためのメモを作成中です。
-
- Stereo Cameraでのブロックマッチングの処理速度を向上させるのには、マルチコアの利用、GPGPUの利用、FPGAの利用があります。FPGAは消費電力あたりの演算性能を高めることができるでしょうが、画像サイズやフレームレートなどの前提条件が違ったときには、それまでの設計が無効になってしまうリスクがあります。
-
- Jetson TX1ではドローンで撮影する画像の認識などがリアルタイムで可能な演算能力がある。そこでJetsonについての調査中の記事を書いています。
-
Camera Serial Interface(CSI-2)のカメラを使う
- RaspberryPi3の専用カメラに使われているインターフェースであるCSI-2についての調査中の記事。このインターフェースはJetson TX1にも使われている。カメラモジュールの性能を最大限に引き出すには、USBインターフェースでは限界がある。