主要内容

showReprojectionErrors

可视化校准错误

描述

例子

showReprojectionErrors (cameraParams显示一个柱状图,表示单个摄像机或一对立体相机的校准精度。柱状图显示了每个图像的平均重投影误差。的cameraParams输入包含cameraParametersfisheyeParameters,或者一个stereoParameters对象,estimateCameraParametersestimateFisheyeParameters函数返回。

例子

showReprojectionErrors (cameraParams视图控件指定的可视化样式显示重投影错误视图输入。

例子

showReprojectionErrors (___名称,值使用一个或多个指定的附加选项名称,值使用前面的任何语法对参数进行配对。

例子

斧头= showReprojectionErrors (___使用前面的任何语法返回绘图轴。

例子

全部折叠

创建一组校准图像。

图像= imageDatastore (fullfile (toolboxdir (“愿景”),“visiondata”...“校准”“摄像头”));imageFileNames = images.Files (1:5);

检测校准模式。

[imagePoints, boardSize] = detectCheckerboardPoints(imageFileNames); / /检查全局

生成方块角落的世界坐标。正方形的大小以毫米为单位。

squareSize = 25;worldPoints = generateCheckerboardPoints (boardSize squareSize);

校准相机。

I = readimage(图片1);imageSize = [size(I, 1), size(I, 2)];params = estimateCameraParameters (imagePoints worldPoints,...“图象尺寸”、图象尺寸);

将错误可视化为条形图。

次要情节(1、2、1);showReprojectionErrors (params);

图中包含一个坐标轴。标题为“每个图像平均重投影误差”的轴包含3个类型为bar, line的对象。这个对象表示总体平均误差:0.25像素。

将错误想象成散点图。

次要情节(1、2、2);showReprojectionErrors (params,“散点图”);

图中包含2个轴。标题为“每个图像平均重投影误差”的坐标轴1包含3个类型为bar, line的对象。这个对象表示总体平均误差:0.25像素。带有标题“像素重投影错误”的轴2包含5个类型为line的对象。这些物体代表1 2 3 4 5。

指定图像校准

imageDir = fullfile (toolboxdir (“愿景”),“visiondata”...“校准”“立体”);leftImages = imageDatastore (fullfile (imageDir“左”));rightImages = imageDatastore (fullfile (imageDir“对”));

检测棋盘格。

[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,...“图象尺寸”、图象尺寸);

可视化校准精度。

showReprojectionErrors (params);

图中包含一个坐标轴。标题为“每个图像平均重投影误差”的轴包含5个类型为bar, line的对象。这些对象代表相机1,相机2,总体平均误差:0.06像素。

输入参数

全部折叠

对象包含单相机或立体声对的参数,指定为cameraParametersfisheyeParameters,或stereoParameters对象。您可以创建单相机或立体声对输入对象使用estimateCameraParameters函数。使用。创建鱼眼参数输入对象estimateFisheyeParameters

你也可以用the相机校准器应用程序创建cameraParameters输入对象,或使用立体相机校准器应用程序创建stereoParameters输入对象。看到单摄像头校准应用立体相机校准应用

条形图或散点图视图,指定为其中之一“线条”“散点图”.的视图输入设置摄像机外部参数的可视化。集视图“线条”以柱状图的形式显示每个图像的平均误差。集视图“散点图”将每个点的误差显示为散点图。的“散点图”选项只适用于单个相机外壳。

名称-值对的观点

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“视图”“线条”以条形图的形式显示每个图像的平均误差。

突出显示指定为标量或整数向量的选择索引。当你设置视图“线条”,函数突出显示与所选图像相对应的栏。当你设置视图“散点图”,函数用圆圈标记突出显示所选图像对应的点。

输出轴,指定为逗号分隔对,由''和标量值。指定显示可视化的输出轴。你可以通过将函数返回给输出变量来获得当前坐标轴句柄:

斧头showReprojectionErrorscameraParams

你也可以用thegca函数获取当前坐标轴句柄。

例子:showReprojectionErrors (cameraParams,‘父’,ax)

输出参数

全部折叠

当前轴句柄,作为标量值返回。函数返回当前图形的当前轴的句柄。

例子:ax = showReprojectionErrors (cameraParams)

介绍了R2014a