最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

worldToImage

イメージへのワールド座標点の投影

説明

imagePoints = worldToImage(cameraParams,rotationMatrix,translationVector,worldPoints) は、カメラ パラメーター、回転行列、および並進ベクトルが指定されたイメージへの 3 次元ワールド座標点の投影を返します。

imagePoints = worldToImage(___'ApplyDistortion',distort) は、歪み適用のオプションを使用した投影を返します。この構文は、非魚眼カメラ パラメーターでサポートされます。

すべて折りたたむ

一連のキャリブレーション イメージを作成します。

images = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
      'calibration','slr'));

イメージ内のチェッカーボードのコーナーを検出します。

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

左上隅が (0,0) のパターン中心の座標系でチェッカーボードのコーナーのワールド座標を生成します。

squareSize = 29; % in millimeters
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

カメラのキャリブレーションを行います。

cameraParams = estimateCameraParameters(imagePoints,worldPoints);

新しい位置でイメージを読み込みます。

imOrig = imread(fullfile(matlabroot,'toolbox','vision','visiondata', ...
        'calibration','slr','image9.jpg'));

imshow(imOrig,'InitialMagnification',30);

イメージの歪みを補正します。

imUndistorted = undistortImage(imOrig,cameraParams);

新しいイメージで参照オブジェクトを検索します。

[imagePoints,boardSize] = detectCheckerboardPoints(imUndistorted);

新しい外部パラメーターを計算します。

[R,t] = extrinsics(imagePoints,worldPoints,cameraParams);

ワールド座標点に z 座標を追加します。

zCoord = zeros(size(worldPoints,1),1);
worldPoints = [worldPoints zCoord];

ワールド座標点を元のイメージに投影します。

projectedPoints = worldToImage(cameraParams,R,t,worldPoints);
hold on
plot(projectedPoints(:,1),projectedPoints(:,2),'g*-');
legend('Projected points');
hold off

入力引数

すべて折りたたむ

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

イメージ座標に対するワールド座標の 3 次元回転。3 行 3 列として指定します。回転行列を並進ベクトルと共に使用して、ワールド座標系からカメラ座標系に点を変換できます。rotationMatrixtranslationVector 入力は同じデータ型でなければなりません。

データ型: double | single

イメージ座標に対するワールド座標の 3 次元並進。1 行 3 列として指定します。並進ベクトルを回転行列と共に使用して、ワールド座標系からカメラ座標系に点を変換できます。rotationMatrixtranslationVector 入力は同じデータ型でなければなりません。

データ型: double | single

3 次元ワールド座標点。3 次元ワールド座標点の座標 M [x,y,z] を含む M 行 3 列の行列として指定します。

レンズ歪みを適用するためのオプション。false または true として指定します。この引数を true に設定すると、関数はレンズ歪みを出力 imagePoints に適用します。

この引数は、cameraParameters オブジェクトを cameraParams 入力として使用する場合にのみ有効です。

出力引数

すべて折りたたむ

イメージ点。点の座標 M [x,y] の M 行 2 列の行列として返されます。

R2016b で導入