Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

stereoParameters

ステレオ カメラ システムのパラメーターを格納するオブジェクト

説明

stereoParameters オブジェクトは、2 つのカメラの内部パラメーターと外部パラメーター、およびそれらの幾何学的な関係を格納します。

作成

ここで説明する関数 stereoParameters を使用して stereoParameters オブジェクトを作成できます。また、入力イメージ ポイントの M×2×numImages×2 の配列 (M は各パターンのキーポイント座標の数) の estimateCameraParameters を使用して stereoParameters オブジェクトを作成することもできます。

説明

stereoParams = stereoParameters(cameraParameters1,cameraParameters2,poseCamera2) は、2 つのカメラのカメラ パラメーターとカメラ 2 の姿勢を使用して、ステレオ カメラ システム パラメーター オブジェクトを返します。cameraParameters1cameraParameters2 は、それぞれカメラ 1 とカメラ 2 の内部パラメーターを含む cameraParameters オブジェクトまたは cameraIntrinsics オブジェクトです。3 つの入力引数は、それぞれ CameraParameters1CameraParameters2、および PoseCamera2 のプロパティを設定します。

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

入力引数

すべて展開する

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

プロパティ

すべて展開する

2 つのカメラの内部パラメーターと外部パラメーター

カメラ 1 のパラメーター。cameraParameters オブジェクトとして指定します。オブジェクトには、カメラの内部パラメーター、外部パラメーターおよびレンズ歪みパラメーターが含まれます。

カメラ 2 のパラメーター。cameraParameters オブジェクトとして指定します。オブジェクトには、カメラの内部パラメーター、外部パラメーターおよびレンズ歪みパラメーターが含まれます。

2 つのカメラの幾何学的な関係

2 番目のカメラの相対姿勢。rigidtform3d オブジェクトとして指定します。オブジェクトの R プロパティと Translation プロパティは、カメラ 1 とカメラ 2 の間の相対的な回転と並進をそれぞれ表します。これらは、以下を使用してカメラ 2 の座標をカメラ 1 の座標に変換し直します。

orientation1 = orientation2 * R
location1 = orientation2 * Translation + location2
orientation1location1 はカメラ 1 の絶対姿勢を、orientation2location2 はカメラ 2 の絶対姿勢を表します。

Camera 2 displayed in camera 1 coordinate system, with the axis origin at the optical center of camera 1.

stereoParameters オブジェクトを作成した後で PoseCamera2 の値を設定することはできません。

基礎行列。3 行 3 列の行列として格納されます。次の方程式が必ず満たされるように、基礎行列は 2 つのステレオ カメラを関連付けます。

[P11]*FundamentalMatrix*[P21]=0

イメージ 1 の点 P1 は、イメージ 2 の点 P2 に対応します。どちらの点もピクセル座標で表されます。

基本行列。3 行 3 列の行列として格納されます。次の方程式が必ず満たされるように、基本行列は 2 つのステレオ カメラを関連付けます。

[P11]*EssentialMatrix*[P21]=0

イメージ 1 の点 P1 は、イメージ 2 の点 P2 に対応します。どちらの点も、原点がカメラの光学的中心である正規化されたイメージ座標で表されます。ピクセル座標 x と y は、焦点距離 fx および fy で正規化されています。

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

すべてのイメージのペアに対する再投影された点と検出された点の間の平均ユークリッド距離。ピクセル単位で指定します。

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

2 つのカメラの外部パラメーターを推定するキャリブレーション パターンの数。整数として保存します。

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

ワールド ポイント単位。文字ベクトルとして指定します。文字ベクトルは、測定単位を示します。

オブジェクト関数

toStructConvert a stereo parameters object into a struct

すべて折りたたむ

キャリブレーション イメージを指定します。

leftImages = imageDatastore(fullfile(toolboxdir("vision"),"visiondata", ...
    "calibration","stereo","left"));
rightImages = imageDatastore(fullfile(toolboxdir("vision"),"visiondata", ...
    "calibration","stereo","right"));

チェッカーボードを検出します。

[imagePoints,boardSize] = ...
  detectCheckerboardPoints(leftImages.Files,rightImages.Files);

チェッカーボード キーポイントのワールド座標を指定します。正方形のサイズはミリメートル単位です。

squareSize = 108;
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

ステレオ カメラ システムをキャリブレーションします。両方のカメラの解像度は同じです。

I = readimage(leftImages,1); 
imageSize = [size(I,1) size(I,2)];
params = estimateCameraParameters(imagePoints,worldPoints, ...
    "ImageSize",imageSize);

キャリブレーションの精度を可視化します。

showReprojectionErrors(params)

Figure contains an axes object. The axes object with title Mean Reprojection Error per Image, xlabel Image Pairs, ylabel Mean Error in Pixels contains 5 objects of type bar, line. These objects represent Camera 1, Camera 2, Overall Mean Error: 0.06 pixels.

カメラの外部パラメーターを可視化します。

figure
showExtrinsics(params)

Figure contains an axes object. The axes object with title Extrinsic Parameters Visualization, xlabel X (mm), ylabel Z (mm) contains 28 objects of type patch, text, line.

参照

[1] Zhang, Z. "A Flexible New Technique for Camera Calibration." IEEE Transactions on Pattern Analysis and Machine Intelligence 22, no. 11 (November 2000): 1330–34. https://doi.org/10.1109/34.888718..

[2] Heikkila, J., and O. Silven. “A Four-Step Camera Calibration Procedure with Implicit Image Correction.” In Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1106–12. San Juan, Puerto Rico: IEEE Comput. Soc, 1997. https://doi.org/10.1109/CVPR.1997.609468.

拡張機能

バージョン履歴

R2014a で導入

すべて展開する