0

カメラ マトリックスを取得するために OpneCV を使用する必要があるプロジェクトがあります。OpenCV サンプル プロジェクトを実行します。私の質問は、保存データが正しいかどうかを確認する方法です。私の最初の例では、彼女は私が得たものです:

<Camera_Matrix type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>

d
4.0608614269653586e+001 0. 3.1950000000000000e+002 0. 4.0608614269653586e+001 2.395000000000000e+002 0. 0. 1.

4

2 に答える 2

1

データが正しく保存されているかどうかを確認したい場合は、マトリックスを読み返してください。これは、FileStorage クラスの openCV で実行できます。これはwriteの例で、同じページに read 関数があります。

行列が意味をなすかどうかを知りたい場合は、まずサニティ チェックを使用します。最も単純なカメラ マトリックスは、次のエントリで構成されます。

[ fx、0、cx; 0、fy、cy; 0、0、1]

ここで、ピクセルが正方形の場合は fx=fy であり、おおよそ cx=w/2 および cy=h/2 です。640x480 の画像を使用し、焦点距離が約 40 ピクセルであることを考えると、行列は正しいようです。ただし、後者は疑わしいように見えます。カメラの視野 (FOV) は次の式から計算できます: tan2(FOV/2) = w*0.5 / f = 320/40= 80、そこから FOV = 180deg に従います。 ; これは、非常に広角の長さ (いわゆる魚眼) を使用する場合にのみ発生します。そうでない場合は、キャリブレーション手順を確認してください。どのコードを使用しましたか?

于 2014-03-12T09:18:52.670 に答える
0

あなたのマトリックスは問題ないようです、3x3マトリックス。

セーブデータと言うと、動画を撮りますか?

しかし、openCV の Q&A を参照してください。

http://answers.opencv.org/questions/

このフォーラムで質問してください。

于 2013-04-04T12:08:49.613 に答える