OpenCVの三角測量関数『cv::triangulatepoints』

だいぶ時間が空きましたが、引き続きOpenCVの3次元復元系の関数を見ていく。



今回はcalib3dモジュールにあるtriangulatePoints関数。つまり三角測量を行う関数ですね。

三角測量で点を再構築します。

パラメータ

  • projMatr1 1つ目のカメラの射影行列(3×4)
  • projMatr2 2つ目のカメラの射影行列(3×4)
  • projPoints1 1枚目の画像中の特徴点の配列(2xN)
  • projPoints2 2枚目の画像中の1枚目に対応する特徴点の配列(2xN)
  • points4D 同次座標における再構成後の点の配列(4×N)

この関数は、ステレオカメラによる観測によって(同次座標での)3次元点を再構築します。投影行列はstereoRectify関数で得ることができます。

注意
この関数を使うには、すべての入力データがfloat型である必要があります。

http://docs.opencv.org/3.2.0/d9/d0c/group__calib3d.html#gad3fc9a0c82b08df034234979960b778c


スポンサーリンク


具体的な使い方を見て行こう。こちらのブログ記事に載っているコードを参考に書いてみた。↓
http://moitkfm.blogspot.jp/2014/06/2.html

使う2枚の画像は、以前撮影したスターデストロイヤーのターンテーブル動画から1フレーム目と50フレーム目を抜粋して使用する。

OpenCVでiPhone6sのカメラレンズ歪み補正 (マスキング)

撮影に使ったiPhone6sのカメラキャリブレーションデータもあるし。



以下がソースコード。AKAZE特徴で2枚の画像の対応点を求めることにした。
結果の可視化にvizモジュールを使っているので、vizも含めてビルド済みのOpenCV3.3.0-rcを使用。


スポンサーリンク

AKAZE特徴のマッチング結果はこちら↓



で、三角測量の結果をvizモジュールで可視化したものがこちら↓



側面は何となくそれっぽいぞ。と思って上から見てみたら、なんだか湾曲している。。。



レンズっぽい球面な歪み方だな。
あ、以前作った連番はすでにレンズの歪み補正を終えているから、補正処理は必要なかったか。

追記:よくよく考えたら、関数の出力は同次座標だからそのまま3次元ベクトルに代入して表示しちゃダメだな。


スポンサーリンク

関連記事

Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』
コンピュータビジョンの技術マップ
OpenCVのバージョン3が正式リリースされたぞ
OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
ブログが1日ダウンしてました
顔検出・認識のAPI・ライブラリ・ソフトウェアのリスト
Russian3DScannerのトポロジー転送ツール『WrapX』
Googleが画像解析旅行ガイドアプリのJetpac社を買収
ディープラーニングに対応したPythonの機械学習ライブラリ『Pylearn2』
人体モデリングできるBlenderアドオン『ManuelBastioniLAB』
法線マップを用意してCanvas上でShadingするサンプル
読みやすくて高速なディープラーニングのフレームワーク『Caffe』
OpenCVベースのマーカーARライブラリ『OpenAR』
統計的な顔モデル
OpenCV
UnityでOpenCVを使うには?
3D復元技術の情報リンク集
このブログのデザインに飽きてきた
ブログのデザイン変えました
OpenCVでPhotoshopのプラグイン開発
2D→3D復元技術で使われる用語まとめ
Windows10でPyTorchをインストールしてVSCodeで使う
Unityで使える数値計算ライブラリ『Math.NET Numerics』
WordPress on Google App Engineを1週間運用してみて
Unreal Engineの薄い本
Photogrammetry (写真測量法)
OpenCV 3.1のsfmモジュールのビルド再び
書籍『ROSプログラミング』
Adobe MAX 2015
OpenCV 3.3.0 contribのsfmモジュールのサンプルを動かしてみる
Raspberry Pi 2のGPIOピン配置
WordPressプラグインの作り方
PythonのHTML・XMLパーサー『BeautifulSoup』
機械学習について最近知った情報
Google App Engine上のWordPressでFlickrの画像を貼る
ベイズ推定とグラフィカルモデル
HD画質の無駄遣い その2
Structure from Motion (多視点画像からの3次元形状復元)
ZScript
複数視点画像から3次元形状を復元するライブラリ『openMVG』
AMIMOTO(PVM版)で作成したインスタンスをAMIMOTO (HVM版)へ移行する
インタラクティブにComputer Visionコーディングができるツール『Live CV』

コメント