i tried to use bundleAdjustment function, but error is The number of 3-D points must match the number of point tracks.

2 Ansichten (letzte 30 Tage)
clc,clear;
object_point1=[0, 0, 0;172,0.032780255,0;172.0781265,173.7997724,0;1.702793969,174.9936174,0];
plane_point1=[738.1912551,409.5459538;2046.614139,409.7953168;2047.208456,1731.659904;751.1445958,1740.741614];
object_point2=[0, 0, 0;172,0.032780255,0;172.0781265,173.7997724,0;1.702793969,174.9936174,0];
plane_point2=[731.455441,409.3671522;2040.067034,409.4946591;2040.779325,1731.560572;744.5253902,1740.492964];
% relative orientation and location
orientation=[0.999999693765780,7.88580585341823e-05,-0.000778620415985476;-7.90800597903021e-05,0.999999956233700,-0.000285094618482966;0.000778597899900008,0.000285156104526290,0.999999656235594];
location=[-0.891847856524883,-0.0195992424687006,-0.0356707842611286]';
M=[orientation,location];
intrinsic=[5175.16,0,1102.43;0,5210.63,1139.06;0,0,1];
% pointstrack
viewIDs=[1 2 3 4];
track=pointTrack(viewIDs,plane_point1);
[xyzRefinedPoints,refinedPoses,pointindex]=bundleAdjustment(object_point1,track,M,intrinsic);
错误使用 vision.internal.bundleAdjust.validateAndParseInputs>validatePointTracks (第 136 行)
The number of 3-D points must match the number of point tracks.

Antworten (1)

Walter Roberson
Walter Roberson am 12 Aug. 2022
You need to pass in a vector of pointTrack objects, but you are only passing in one.

Kategorien

Mehr zu 3-D Scene Control finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by