文档帮助中心文档
在三维坐标中绘制一个摄像机
凸轮= plotCamera
CAM = Plotcamera(Cameratable)
凸轮= Plotcamera(名称,价值)
例子
cam= plotCamera在当前轴中的3-D坐标中绘制默认摄像头。函数返回cam, 一种相机包含绘制相机属性的对象。
cam= plotCamera
cam
相机
cam= plotCamera (Cameratable.)绘制指定的一个或多个摄像机Cameratable..
cam= plotCamera (Cameratable.)
Cameratable.
cam= plotCamera (名称,价值)使用一个或多个名称值对参数指定选项。例如,“不透明度”,0.4设置绘制的摄像机的不透明度为0.4.
cam= plotCamera (名称,价值)
名称,价值
“不透明度”
0.4
名称-值对参数设置绘制的摄像机可视化对象的相关属性。
全部收缩
创建一个rigid3d目的。
rigid3d
R = [1 0 0;0 0 -1;0 0 -1;T = [10 0 20];构成= rigid3d (R, t);
绘制一个不透明度为0的相机,并根据创建的绝对姿态rigid3d目的。
Cam = Plotcamera('absolutepose'姿势,“不透明度”,0)
cam = Camera with properties: Parent: [1x1 Axes] Size: 1 AbsolutePose: [1x1 rigid3d] Visible: 1 AxesVisible: 0 ButtonDownFcn: " Color: [1 0 0] Opacity: 0 Label: "
设置当前轴的查看属性。
网格在轴平等的轴手册
展开每个轴的可视范围。这些更改使整个动画能够在下一步中可见。
xlim (20 [-15]);ylim (20 [-15]);zlim (25 [15]);
旋转相机周围y设在。
为θ= 0:pi / 64:10 * pi t = [cos(theta)0 sin(θ); 0 1 0; -sin(θ)0 cos(θ);Cam.absolutepose = rigid3d(t * r,[10 * cos(theta),10 * sin(θ),20]);rawing();结束
创建一组校准图像。
图像= Imageet(fullfile(toolboxdir(“愿景”),“visiondata”,'校准',“单反”));
检测图像中的棋盘角。
[imagePoints, boardSize] = detectCheckerboardPoints (images.ImageLocation);
在以模式为中心的坐标系中生成棋盘角的世界坐标,左上角为(0,0)。设置方形尺寸为29毫米。
squareSize = 29;worldPoints = generateCheckerboardPoints (boardSize squareSize);
校准相机。
cameraparams =估计(观点,WorldPoints);
在新位置加载图像。
imOrig = imread (fullfile (toolboxdir (“愿景”),“visiondata”,'校准',“单反”,“image9.jpg”));数字;imshow(imorig,“InitialMagnification”,50);标题('输入图像');
Undistort图像。
我= undistortImage (imOrig cameraParams);
在新图像中找到参考对象。
[imagePoints,BoardSize] =侦探校验erboardPoints(IM);
计算新的extrinsics。
[RotationMatrix,transportvector] =外在(图像点,WorldPoints,Cameraparams);
绘制世界要点。
数字;Plot3(WorltPoints(:,1),WorltPoints(:,2),零(大小(worldPoints,1),1),'*');抓住在
标记起源。
plot3 (0, 0, 0,“g *”);
计算相机位置和方向。
orientation = RotationMatrix';位置= -translationVector *方向;
绘制相机。
积血= rigid3d(方向,位置);Cam = Plotcamera('absolutepose',积存,'尺寸', 20);
制作z设在点下来。
套装(GCA,“CameraUpVector”,[0 0-1]);
设置视图参数。
camorbit (gca, -110, 60岁,'数据',[0 0 1]);轴平等的网格在
打开3-D旋转。
摄像机('设置模式',“轨道”);
标签的轴。
Xlabel(“X(毫米));ylabel (“Y”(毫米));zlabel (“Z (mm)”);
可视化的摄像机属性,指定为表格。每行代表一个摄像头。每个列标题必须与名称值对参数的名称部分匹配。这nTh-行值设置属性nth元素cam.您不能指定的值'父母'.如果表中包含“ViewId”列,然后使用视图ID来设置“标签”相机的值。
'父母'
“ViewId”
“标签”
指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen.
的名字
价值
name1,value1,...,namen,valuen
'尺寸'
0.3
AbsolutePose
摄像机在世界坐标系中的绝对位姿,指定为逗号分隔对组成'absolutepose'一个rigid3d目的。
'absolutepose'
大小
1
摄像机基础宽度,指定为逗号分隔对组成'尺寸'和一个积极的实数。
标签
''
相机标签,指定为逗号分隔对,由'标签'和字符向量或字符串标量。
颜色
[1 0 0]
相机颜色,指定为逗号分隔的配对组成颜色’和RGB三连音。RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在[0,1]范围内。
不透明度
0.2
相机不透明度,指定为逗号分隔对,包含'不透明度'和范围的标量[0,1]。
可见的
真的
假
0
相机可见性,指定为逗号分隔的配对组成可见的'和一个数字或逻辑1(真的) 或者0(假)。
轴不可分割
相机轴的可见性,指定为逗号分隔的配对组成轴不可分割'和一个数字或逻辑1(真的) 或者0(假)。
ButtonDownFcn
回调函数,指定为逗号分隔的对,由'ButtonDownFcn,以及当你点击相机时执行的函数手柄。
父
轴
输出轴,指定为逗号分隔对,由'父'和一个轴柄。默认情况下,plotCamera使用当前轴柄。要返回当前轴,请使用gca函数。
plotCamera
gca
相机可视化对象,作为其中一个选项返回。
相机对象-当绘制单个相机时,该函数返回此选项。名称-值对参数或Cameratable.输入元素设置相应的相机对象属性。
相机对象的行向量 - 函数在绘制多个摄像机时返回此选项。这n的第一行值Cameratable.输入设置的属性nth相机物体在这个向量中。
使用相机对象使用Vision.Graphics.Camera.类。
Vision.Graphics.Camera.
外在
showExtrinsics
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系您当地的办公室