質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

8479閲覧

OpenCVのカメラキャリブレーションの使い方がわかりません

Konnya

総合スコア14

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2015/10/23 16:02

編集2015/10/26 16:12

現在VC++でopencvを使った画像処理を行っています.
今回レンズのゆがみ補正が必要となったのでopencvの関数を使うことにしました.

サンプルプログラムからチェスボードのコーナー検出までは作ることができたのですが,そこから先に進むのにチェスボードの認識結果をどのように扱えばいいのかがわからず困っています.

どなたか教えていただけないでしょうか.

今回チェスボード画像については,事前に撮影したものを読み込んで使いたいと思っています.

解読しているサンプル

追記
特にわからないのが,複数の画像からcvFindChessbordCornersで得られたコーナーの座標をどのようにしてcvCalibrateCamera2に送ればいいのかということです.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

サンプル・ソースは一部処理が前後してますが、比較的素直な構造のようです。
下記手順で処理されてます。

①キャリブレーション目標の設定
135行目からのfor文で、チェッカー模様のコーナーを対応させたい目標座標を設定しています。

②画像取得
153-157行目にて画像を撮影し、OpenCVが扱える形式ヘフォーマット変換しています。

③コーナー検出
167行目からのcvFindChessboardCorners()にてチェッカー模様のコーナーを検出しています。

④キャリブレーション行列の計算
192-195行目で検出したコーナー座標を並べ替えて、
202行目からのcvCalibrateCamera2()へでキャリブレーション行列(intrinsic_matrixとdistortion_coeffs)を計算しています。
ここで、③で検出した各コーナー座標を①で設定したキャリブレーション目標座標へ対応させるための補正行列を求めています。

⑤キャリブレーション実行
178行目のcvUndistort2()でintrinsic_matrixとdistortion_coeffsを用いて、入力画像(image_raw)を補正(キャリブレーション)した画像(image_rectify)を得ています。

特にわからないのが,複数の画像からcvFindChessbordCornersで得られたコーナーの座標を
どのようにしてcvCalibrateCamera2に送ればいいのかということです.

167行目のcvFindChessboardCorners()でcorners[]配列へコーナー座標が設定され、
192-195行目で1枚毎にimage_pointsの異なる領域へcorners[].x, yを設定し、
VIEW枚数揃ったら、202行目のcvCalibrateCamera2()へ渡されているようです。

ではでは

投稿2015/10/26 16:44

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Konnya

2015/10/27 15:51

ようやく理解することができました. 詳しい解説ありがとうございます. 処理の順序が前後していたのですね,気づきませんでした.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問