模拟相机可以让你看到相机所看到的一切。您可以指定相机参数,如传感器尺寸、像素大小、视场等,然后就能看到相机的模拟视图。您可以将相机安装到机器人上,也可以让它们保持静止不动。
添加相机需要将其固定在一个锚点上,以确定其位置。这通常需要使用参考坐标系。
1.选择程序➔ 添加参考坐标系,创建新坐标系。更多信息请参阅入门部分。
2.将坐标系放置在所需的相机位置,其中 XYZ 坐标为相机位置,Z+ 轴代表瞄准方向,Y+ 轴代表向下方向。
3.选择连接➔ 模拟 2D 相机并选择参考坐标系。
现在,您已经在锚点上安装了一个默认相机。
提示:如果锚点发生变化,相机位置将自动更新,这样您就可以轻松地为机器人添加腕式相机。
提示:您可以通过右键单击相机并使用相机位置菜单来更改锚点。
相机预览窗口可让您看到相机所看到的内容。添加新相机时,此窗口会自动打开。
要重新打开相机预览窗口,只需双击树中的相机项即可。也可以在树中右键单击它,然后选择显示相机。默认情况下,预览窗口可以调整大小、最小化或关闭(更多选项请参阅下一节)。
预览窗口打开时,三维环境中也会显示相机工作区。您可以通过右键单击相机并选择显示相机工作区来禁用相机工作区。
通过相机设置,您可以自定义相机的参数,从而在 RoboDK 的模拟环境中获得真实的相机视图。
要编辑相机的设置,请在树中右击该相机,然后选择相机设置。RoboDK 为新添加的相机提供以下默认设置:
●相机:提供锚点名称(坐标系 1)
●焦距 (mm):焦距,单位为毫米(5.00)。这是镜头虚拟光学中心与虚拟相机图像传感器之间的距离。更改该值会影响像素大小。
●像素尺寸 (μm):像素尺寸,单位为微米(2.481)。更改该值会影响视野。
●Field of view (deg)(视场角 (deg)):视场角 (FOV),单位为度(30.0)。这会影响相机可感知区域的大小。更改该值会影响像素大小。
●工作距离 (mm):工作距离,单位为毫米(2000.0)。这是相机可以感知环境的距离,超过这个距离的物体将不会成为图像的一部分。
●固定传感器尺寸:如果不选中,相机传感器尺寸(或分辨率)由相机预览窗口的大小来设置,用户可以调整预览窗口的大小。
●相机传感器尺寸:对于固定传感器尺寸,以像素为单位提供相机的宽度和高度。调整预览窗口大小不会影响尺寸。
●允许调整窗口大小:允许用户在不影响传感器尺寸的情况下调整预览窗口的大小。例如,将窗口大小调整为 720p,同时保持分辨率为 4K。
●透视图:取消选中此项将把相机变成正投影相机,消除透视。
●视图类型:确定相机视图类型,如彩色、灰度或深度。视图类型将根据相关数据改变输出图像。
●停靠视图:允许将预览窗口拖到工具栏上,而不是单独的浮动窗口。
●设置光色用自己的光色(环境光、漫反射光和镜面反射光的颜色)覆盖默认光色。它不会影响背景颜色,而且只与 "颜色 "视图类型兼容。
●背景色:无限远处未知物体的颜色。如果从相机传感器到工作距离没有遇到任何物体,则使用这种颜色。
可以通过 API 访问所有视图类型的相机图像。例如,您可以以磁盘文件或纯数据的形式获取彩色图像(8 位)、灰度图像(8 位)和深度图(8 位或 32 位)。
访问模拟相机的数据,可以通过第三方图像资源库或自己的图像资源库进行外部处理。
虽然 RoboDK 没有提供自己的成像资源库,也没有与之关联,但我们的 Python API 提供了处理 2D 和 3D 图像数据的示例代码。涉及以下主题:
●获取图像数据并以直播形式显示。
●使用棋盘图案校准针孔相机。
●利用支持的模式估算相机的位姿。
●将模拟相机图像应用于增强现实的硬件相机馈送。
●读取条形码和 QR 码
●检测圆球、参考图像、表面积、轮廓、图像瞬间等特征。
●读取深度图,将其处理成点云,重建网格,创建 3D 实时流。
要访问我们的 Python API 示例,请点击此链接:https://robodk.com/doc/en/PythonAPI/examples.html。