Python(Ubuntu)
本章介绍如何在Ubuntu系统中运行Python例程。
例程简介
例程分为5类:Basic、Advanced、Util、Laser和UHP。
-
Basic例程:与连接和基础采集相关。
-
Advanced例程:与高级采集技巧相关。
-
Util例程:与获取相机信息及设置参数相关。
-
Laser例程:仅适用于Laser,DEEP与LSR系列相机。
-
UHP例程:仅适用于UHP系列相机。
各分类中包含的例程及其简介如下。
Basic
-
ConnectToCamera:连接相机。
-
ConnectAndCaptureImage:连接相机并获取2D图、深度图及点云数据。
-
CaptureColorMap:从相机获取并保存2D图。
-
CaptureDepthMap:从相机获取并保存深度图。
-
CapturePointCloud:使用单个曝光时间采集图像,生成并保存白色点云和彩色点云。
-
CaptureHDRPointCloud:使用多个曝光时间采集图像,生成并保存白色点云和彩色点云。
-
CapturePointCloudROI:获取并保存感兴趣区域内的白色点云和彩色点云。
-
CapturePointCloudFromTextureMask:从覆盖掩膜的2D图和深度图生成并保存白色点云和彩色点云。
Advanced
-
CaptureCloudFromDepth:从2D图与深度图生成并保存点云。
-
CaptureSequentiallyMultiCamera:使用多台相机按序获取并保存2D图、深度图及点云。
-
CaptureSimultaneouslyMultiCamera:使用多台相机同时获取并保存2D图、深度图及点云。
-
CaptureTimedAndPeriodically:在设定时间内,定时获取并保存2D图、深度图和点云。
Util
-
GetCameraIntri:获取并打印相机内参。
-
PrintDeviceInfo:获取并打印相机型号、序列号、固件版本、温度等信息。
-
SetDepthRange:设置相机深度范围。
-
SetParameters:设置相机参数。
-
SetUserSets:执行参数组相关功能,如获取参数组名称,选择参数组,保存参数值至当前参数组。通过参数组可以保存一组参数值并快速应用。
Laser
-
SetLaserFramePartitionCount:将投影仪视野分为多个分区,结构光一次投射到一个分区。整个视野的输出由所有分区的图像融合而成。
-
SetLaserFrameRange:设置结构光投射范围,整个视野范围从0到100。
-
SetLaserFringeCodingMode:设置结构光样式的编码模式。
-
SetLaserPowerLevel:设置激光器的输出功率(最大输出功率的百分比),影响激光强度。
UHP
-
SetUHPCaptureMode:设置采集模式(分为:2D相机1,2D相机2及同时使用两个2D相机并融合输出)。
-
SetUHPFringeCodingMode:设置结构光样式的编码模式。
部分例程需安装第三方库后,才可使用,详见下表:
Samples | open3d | opencv-python |
---|---|---|
CaptureColorMap |
√ |
|
CaptureDepthMap |
√ |
|
CapturePointCloud |
√ |
|
CaptureHDRPointCloud |
√ |
|
CapturePointCloudROI |
√ |
|
CapturePointCloudFromTextureMask |
√ |
|
CaptureCloudFromDepth |
√ |
准备工作
-
确保Python版本在3.6.5至3.10之间。
-
(可选)安装OpenCV。
sudo apt-get install libopencv-dev sudo apt-get install python3-opencv
-
(可选)安装Open3D。
sudo pip install open3d
使用指南
安装软件
-
安装pip。
sudo apt install python3-pip
如已安装pip,需保证pip版本在20.3或以上。使用以下指令升级pip:
python3 -m pip install --upgrade pip
-
安装Mech-Eye API。
sudo pip3 install MechEyeApi
运行例程
-
下载例程。
cd ~ git clone https://github.com/MechMindRobotics/mecheye_python_samples.git
-
进入各个例程文件夹内,运行程序(此处以ConnectToCamera.py为例)。
cd ~/mecheye_python_samples/source/Basic sudo python3 ConnectToCamera.py
输出结果如下所示:
Find Mech-Eye device... Mech-Eye device index : 0 Camera Model Name: Mech-Eye Pro M Enhanced Camera ID: NEC15221A3000001 Camera IP Address: 192.168.xx.xx Hardware Version: Vx.x.x Firmware Version: Vx.x.x ............................ Please enter the device index you want to connect: 0
请根据提示选择待连接相机编号,程序运行完毕,输出结果如下所示:
Connected to the Mech-Eye device successfully. Disconnected from the Mech-Eye device successfully.
|
自行编写程序时,请先使用import指令导入Mech-Eye API,并需在导入Open3D之前导入Mech-Eye API:
|