主要内容

。

cameraParameters

カメラパラメーターを格納するオブジェクト

説明

cameraParametersオブジェクトには,カメラの内部パラメーター,外部パラメーターおよびレンズ歪みパラメーターが格纳されます。

作成

ここで说明する关数cameraParametersを使用してcameraParametersオブジェクトを作成できます。また,入力イメージ点のM x 2 x numImagesの配列を指定し,estimateCameraParametersを使用して,cameraParametersオブジェクトを作成することもできます.Mは各パターンのキーポイント座标の数です。

説明

cameraParams = cameraParametersは,カメラの内部パラメーター,外部パラメーターおよびレンズ歪みパラメーターを含むcameraParametersオブジェクトを作成します。

cameraParams = cameraParameters(名称、值)は,1つ以上の名称,值ペアの引数を使用してcameraParametersオブジェクトのプロパティを設定します。指定していないプロパティは既定値を使用します。

cameraParams = cameraParameters(paramStructは,paramStructに格納されているパラメーターを使用して既存のcameraParametersオブジェクトから同一のcameraParametersオブジェクトを作成します。

入力数

すべて展开する

ステレオパラメーター。ステレオパラメーターの结构として指定します。既存のcameraParametersオブジェクトからparamStructを取得するには,関数toStructを使用します。

プロパティ

すべて展开する

内部カメラパラメーター:

射影行列。3.行 3 列の単位行列として指定します。オブジェクトは、行列形式に次の形式を使用します。

f x 0 0 年代 f y 0 c x c y 1

座标并[cxcy]はピクセル単位の光学的中心(主点)を表します。x軸と y 軸が厳密に直交する場合、せん断パラメーター s は0に等しくなります。

fx= F * Sx
fy= F * Sy
˚Fは焦点距离のワールド単位で,通常はミリメートル単位で表されます。
[Sx,年代y]は,それぞれXとý方向のワールド単位あたりのピクセル数です。
外汇と财政年度はピクセル単位で表されます。

このプロパティは読み取り専用です。

カメラの内部パラメーターオブジェクト。cameraIntrinsicsとして記述されます。オブジェクトには、レンズ歪みパラメーターなどの、カメラの内部キャリブレーション パラメーターに関する情報が格納されます。

依存关系

intrinsicプロパティが空にならないように,图象尺寸プロパティを使用してイメージサイズを指定しなければなりません。カメラの内部パラメーターはイメージサイズによって异なります。

イメージサイズ。2要素ベクトル[mrows,ncols] として指定します。

カメラのレンズ歪み:

半径方向歪み係数。2要素ベクトルまたは3要素ベクトルとして指定します。2要素ベクトルを指定すると、オブジェクトでは 3 番目の要素が0に設定されます。半径方向の歪みは,レンズの光学的中心からエッジに向かうにつれて光線の屈折率が大きくなる現象を指しています。この歪みはレンズが小さいほど大きくなります。カメラパラメーターオブジェクトは,点の半径方向歪み位置を計算します。歪んだ点は (x扭曲的y扭曲的)として次のように表されます。

x扭曲的= x(1 + k1* r2+ k2* r4+ k3.* r6

y扭曲的= Y(1 + K1* r2+ k2* r4+ k3.* r6

的x,y =歪み补正后のピクセル位置
k1k2,およびķ3.=レンズの半径方向歪み係数
r2= x2+ y2
通常は2つの系数で十分です。歪みが大きい场合は,K3.を含めることができます。歪み補正後のピクセル位置は,光学的中心を原点とする正規化されたイメージ座標に示されます。この座標はワールド単位で表されます。

円周方向歪み係数。2要素ベクトルとして指定します。円周方向の歪みは,レンズとイメージ平面が平行にならない場合に生じます。カメラパラメーターオブジェクトは,点の円周方向歪み位置を計算します。歪んだ点は (x扭曲的y扭曲的)として表されます。歪み补正后のピクセル位置は,光学的中心を原点とする正规化されたイメージ座标に示されます。この座标はワールド単位で表されます。

円周方向の歪みは,レンズとイメージ平面が平行にならない場合に生じます。円周方向の歪み係数は,このタイプの歪みをモデル化します。

歪んだ点は(x扭曲的y扭曲的)として次のように表されます。

x扭曲的= X + [2 * P1* x * y + p2*(右2+ 2 * x2)]

y扭曲的= y + p1*(右2+ 2 * y2) + 2 * p2* x * y

  • x, y -歪み補正後のピクセル位置。xと y は正規化されたイメージ座標内にあります。正規化されたイメージ座標は、光学的中心への変換後にピクセル単位の焦点距離で除算したピクセル座標から求められます。したがって、x と y は次元がありません。

  • p1およびp2- レンズの円周方向の歪み系数。

  • r2:X2+ y2

外部カメラパラメーター:

3次元回転行列.P个のパターンイメージを含む3×3×Pとして指定します。各3行3列の行列は,対応するベクトルと同じ3次元回転を表します。

次の方程式は,チェッカーボードのフレームのワールド座标[X Y Z]と対応するイメージ点[X Y]を关连付ける変换を行います。

年代 x y 1 X Y Z 1 R t K

Rは3次元回転行列です。
牛逼は并进ベクトルです。
KはIntrinsicMatrixです。
小号はスカラーです。
この式では歪みが考慮されていません。関数undistortImageは歪みを除去します。

3次元回転ベクトル。P回転ベクトルを含むP行3列の行列として指定します。各ベクトルは,対応するキャリブレーションパターンに相対的なカメラのイメージ平面の3次元回転を示します。ベクトルはカメラが回転する3次元軸を指定します。大きさはラジアン単位の回転角度です。RotationMatricesプロパティは,対応する3次元回転行列を与えます。

カメラの并进.P行3列の行列として指定します。この行列には,Pイメージの并进ベクトルが含まれます。ベクトルは,キャリブレーションパラメーターを推定するキャリブレーションパターンを含みます。行列の各行には,ワールド単位で表された,対応するパターンに相対的なカメラの并进を示すベクトルが含まれます。

次の方程式は,チェッカーボードのフレームのワールド座标[X Y Z]と対応するイメージ点[X Y]を关连付ける変换を行います。

年代 x y 1 X Y Z 1 R t K

Rは3次元回転行列です。
牛逼は并进ベクトルです。
KはIntrinsicMatrixです。
小号はスカラーです。
この式では歪みが考慮されていません。関数undistortImageは歪みを除去します。

回転ベクトルの数が並進ベクトルの数と一致するように,コンストラクターでRotationVectorsプロパティとTranslationVectorsプロパティを设定します。一方のプロパティのみ设定して,もう一方のプロパティを设定しないとエラーになります。

推定されたカメラパラメーターの精度:

再投影された点と検出された点の间の平均ユークリッド距离。ピクセル単位で数値として指定します。

推定されたカメラパラメーターの精度。[x y] 座標の M x 2 x P の配列として指定します。[x y] 座標は、再投影されたパターンのキー ポイントと検出されたパターンのキー ポイント間の並進を x および y で表します。このプロパティの値は、推定されたカメラ パラメーターの精度を表します。P は、カメラ パラメーターを推定するパターン イメージの数です。M は各イメージのキーポイントの数です。

キャリブレーションイメージに再投影されたワールド座标点。[X Y]座标の一M×2×Pの配列として指定します.Pはパターンイメージの数で,男は各イメージ内のキーポイントの数です。

カメラパラメーター推定の設定:

カメラの外部パラメーターを推定するキャリブレーションパターンの数。整数として保存します。キャリブレーションパターンの数は,并进ベクトルと回転ベクトルの数と一致します。

キャリブレーションパターンのキーポイントのワールド座標。M行2列の配列として指定します。Mはパターン内のキーポイントの数を表します。

ワールド座標点単位。文字ベクトルまたは串スカラーとして指定します。値は測定単位を示します。

せん断推定フラグ。逻辑スカラーとして指定します。この逻辑を真正的に設定すると,オブジェクトはイメージの座標軸のせん断を推定します。この逻辑をに設定すると,イメージの座標軸は厳密に直交します。

半径方向歪み係数の数。数値 '2'または'3.として指定します。

円周方向歪み推定フラグ.logicalスカラー真正的またはとして指定します。このを逻辑真正的に設定すると,オブジェクトは円周方向歪みを推定します。この逻辑をに設定すると,円周方向歪みは無視されます。

すべて折りたたむ

カメラキャリブレーション関数を使用してイメージから歪みを除去します。この例では,vision.cameraParametersオブジェクトを手動で作成していますが,実際はestimateCameraParametersまたはカメラキャリブレーターアプリを使用してオブジェクトを派生させます。

vision.cameraParametersオブジェクトを手動で作成します。

IntrinsicMatrix = [715.2699 0 0;0 711.5281 0;565.6995 355.3466 1];radialDistortion = [-0.3361 0.0921];cameraParams = cameraParameters(“IntrinsicMatrix”,IntrinsicMatrix,'RadialDistortion',radialDistortion);

イメージから歪みを除去します。

I = imread(完整文件(matlabroot,“工具箱”“愿景”'visiondata'“校准”“莫诺”'image01.jpg'));J = undistortImage(I,cameraParams);

元のイメージと歪み補正後のイメージを表示します。

图;imshowpair (imresize(0.5),我imresize (J, 0.5),“蒙太奇”);标题(“原始图像(左)vs.校正图像(右)”);

参照

[1]张,Z.“摄像机标定的柔性新技术”。IEEE交易模式分析与机器智能,卷。22,第11期,第1330至1334年,2000。

Heikkila, J, and O. Silven。“一种基于隐式图像校正的四步摄像机标定方法”,计算机视觉与模式识别,1997。

拡张机能

R2014aで导入