为什么我收到“圣言的输入必须不包含南或正吗?

3视图(30天)
你好!
我一直在尝试使用激光雷达工具箱估计激光雷达传感器和摄像机之间的转换使用棋盘。到目前为止,我已经创建了一个复制的MATLAB EstimateLCTransformExample示例。一切都正确执行,检测到棋盘在图像和纤毛的文件。然而,每当执行转换函数(estimateLidarCameraTransform)我得到以下错误:
错误使用 圣言会
圣言会不得包含南或正的输入。
[U ~ V] =圣言(Ml * Mc);
initialRotation = computeInitialRotation (lidarEdgeDirection, imageEdgeDirection,…
lidar.internal.calibration.computeInitialTransform (lidar3DCorners imageCorners3d、详细);
tform = computeTransformUsingCorners (lidarCheckerboardPlanes,……
另外,我附上我已经使用的脚本:
imageDataPath =10莫Semestre ' D: \ TEC \ \ VTTC \有意者”;
imd = imageDatastore (imageDataPath);
imageFileNames = imds.Files;
ptCloudFilePath =' D: \ TEC \ 10莫Semestre \ VTTC \激光雷达;
pcd = fileDatastore (ptCloudFilePath,“ReadFcn”,@pcread);
pcFileNames = pcds.Files;
focalLength = [628.8, 387.33];
principalPoint = [701.57, 701.57];
图象尺寸= (720、1280);
intrinsic = cameraIntrinsics (focalLength principalPoint图象尺寸)
cameraIntrinsicFile = fullfile (imageDataPath,“calibration.mat”);
squareSize = 45;
[imageCorners3d, planeDimension imagesUsed] = estimateCheckerboardCorners3d (
imageFileNames, intrinsic squareSize);
pcFileNames = pcFileNames (imagesUsed);
[lidarCheckerboardPlanes, framesUsed] = detectRectangularPlanePoints (
pcFileNames planeDimension,“RemoveGround”,真正的);
framesUsed
imagFileNames = imageFileNames (imagesUsed);
imageFileNames = imageFileNames (framesUsed);
pcFileNames = pcFileNames (framesUsed);
imageCorners3d = imageCorners3d (:,:, framesUsed);
tform = estimateLidarCameraTransform (lidarCheckerboardPlanes imageCorners3d);

答案(1)

克里斯·拉皮埃尔
克里斯·拉皮埃尔 2021年9月29日
你的输入 圣言会 毫升的* Mc 。基于错误消息,它至少会出现一个值在生成的计算是南或正无穷。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!