Why is the pointsToWorld back-projection inverted?
2 ビュー (過去 30 日間)
古いコメントを表示
Hi I have a question regarding the use of estimateWorldCameraPose and pointsToWorld of the Computer Vision Toolbox.
When I estimate the orientation and the location of the camera relative to the planar scene of points using estimateWorldCameraPose,
and then, using the camera orientation and postion thus obtained, I back-project the points to world coordinates (sans depth) using pointsToWorld,
why are the back-projected points inverted relative to the original world points?
The below code illustrates the question:
% Create a matrix of planar world points
[wx,wy]=meshgrid(0:20:100,0:40:200);
worldPoints=[wx(:) wy(:) zeros(size(wy(:)))];
% Remove one (so we can recognize the orientation later)
worldPoints(2,:)=[];
% Create a set of image points. For this example they are the same as the world
% points (but 2D)
imagePoints=worldPoints(:,[1 2]);
% Create arbitraty camera intrinsics
focalLength = [800, 800];
principalPoint = [320, 240];
imageSize = [480, 640];
intrinsics = cameraIntrinsics(focalLength,principalPoint,imageSize);
% Estimate the orientation and the location of the camera relative to the planar
% scene of points
[worldOri,worldLoc] = estimateWorldCameraPose(worldPoints(:,[1 2]),worldPoints,intrinsics);
% Using the estimates, back project the points to world coordinates (sans depth)
backProjectPoints = pointsToWorld(intrinsics,worldOri,worldLoc,imagePoints);
% Plot the worldPoints and the back projection
figure
scatter(worldPoints(:,1),worldPoints(:,2))
hold on
scatter(backProjectPoints(:,1),backProjectPoints(:,2))
title('Why inverted?');
0 件のコメント
採用された回答
Qu Cao
2020 年 8 月 16 日
You may need to convert the camera world pose to extrinsics using cameraPoseToExtrinsics:
[worldOri,worldLoc] = estimateWorldCameraPose(worldPoints(:,[1 2]),worldPoints,intrinsics);
[rotationMatrix,translationVector] = cameraPoseToExtrinsics(worldOri,worldLoc);
backProjectPoints = pointsToWorld(intrinsics,rotationMatrix,translationVector,imagePoints);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Computer Vision Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!