5. Python (Ubuntu)¶
This section describes how to run Python samples on Ubuntu.
5.1. Sample List¶
Samples are divided into five categories, Basic, Advanced, Util, Laser and UHP.
Basic: camera connection and basic capturing functions.
Advanced: advanced capturing functions.
Util: obtain information from a camera and set camera parameters.
Laser: for Laser/LSR series cameras only.
UHP: for UHP series cameras only.
Basic
ConnectToCamera: Connect to a Mech-Eye Industrial 3D Camera.
ConnectAndCaptureImage: Connect to a camera and obtain 2D image, depth map and 3D image.
CaptureColorMap: Obtain 2D image in OpenCV format from a camera.
CaptureDepthMap: Obtain depth map in OpenCV format from a camera.
CapturePointCloud: Obtain untextured and textured point clouds (PCL format) generated from images captured with a single exposure time.
CaptureHDRPointCloud: Obtain untextured and textured point clouds (PCL format) generated from images captured with multiple exposure times.
CapturePointCloudROI: Obtain untextured and textured point clouds (PCL format) of the objects in the ROI from a camera.
Advanced
CaptureCloudFromDepth: Construct point clouds from depth map and 2D image captured from a camera.
CaptureTimedAndPeriodically: Obtain 2D image, depth map and 3D images sequentially from multiple cameras.
CaptureSimultaneouslyMultiCamera: Obtain 2D image, depth map and 3D images simultaneously from multiple cameras.
CaptureSequentiallyMultiCamera: Obtain 2D image, depth map and 3D images periodically for the specified duration from a camera.
Util
GetCameraIntri: Get and print a camera’s intrinsic parameters.
PrintDeviceInfo: Get and print a camera’s information such as model, serial number and firmware version.
SetDepthRange: Set the range of depth values to be retained by a camera.
SetParameters: Set specified parameters to a camera.
SetUserSets: provide functions related to parameter groups, such as switching to a different parameter group, adding and deleting parameter groups, etc.
Laser
SetLaserFramePartitionCount: Divide the projector FOV into partitions and project structured light in one partition at a time. The output of the entire FOV is composed from images of all partitions.
SetLaserFrameRange: Set the projection range of the structured light. The entire projector FOV is from 0 to 100.
SetLaserFringeCodingMode: Set the coding mode of the structured light pattern.
SetLaserPowerLevel: Set the output power of the laser projector in percentage of max power. This affects the intensity of the laser light.
UHP
SetUHPCaptureMode: Set the capture mode (capture images with camera 1, with camera 2, or with both 2D cameras and compose the outputs).
SetUHPFringeCodingMode: Set the coding mode of the structured light pattern.
5.2. Requirements¶
Make sure that the Python you installed is version 3.6.8 or above.
5.3. Instructions¶
5.3.1. Environment Required for Installing and Running the Samples¶
Install pip.
sudo apt install python3-pip
Install MechEyeApi.
sudo pip3 install MechEyeApi
Install OpenCV.
sudo apt-get install libopencv-dev sudo apt-get install python3-opencv
Install Open3D.
sudo pip install open3d
5.3.2. Run the Samples¶
Download the samples
cd ~ git clone https://github.com/MechMindRobotics/mecheye_python_samples.git
Go to the folder of a sample. run the sample (taking ConnectToCamera.py as an example).
cd ~/mecheye_python_samples/source/Basic sudo python3 ConnectToCamera.py
The output is as follows:
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. When running the sample, please select the number of the camera to connect according to the prompt, and wait for the sample to finish running.
Attention
For samples that involve point cloud capturing, a regular user is unable to write point cloud files, so please use the sudo command to run the sample as the admin.
For samples that involve image and point cloud capturing, when finish running the sample, the image and point cloud data is by default saved to the folder of the sample.