Mech-Eye API 2.3.3
API reference documentation for Mech-Eye Industrial 3D Camera
Loading...
Searching...
No Matches
CaptureUtil.h
1/*******************************************************************************
2 *BSD 3-Clause License
3 *
4 *Copyright (c) 2016-2024, Mech-Mind Robotics
5 *All rights reserved.
6 *
7 *Redistribution and use in source and binary forms, with or without
8 *modification, are permitted provided that the following conditions are met:
9 *
10 *1. Redistributions of source code must retain the above copyright notice, this
11 * list of conditions and the following disclaimer.
12 *
13 *2. Redistributions in binary form must reproduce the above copyright notice,
14 * this list of conditions and the following disclaimer in the documentation
15 * and/or other materials provided with the distribution.
16 *
17 *3. Neither the name of the copyright holder nor the names of its
18 * contributors may be used to endorse or promote products derived from
19 * this software without specific prior written permission.
20 *
21 *THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22 *AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 *IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24 *DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25 *FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 *DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27 *SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28 *CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29 *OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 *OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 ******************************************************************************/
32#pragma once
33#include <iostream>
34#include "MechEyeApi.h"
35#include "OpenCVUtil.h"
36#include "PclUtil.h"
37
38inline void capture(mmind::api::MechEyeDevice& device, std::string suffix)
39{
40 const std::string colorFile = suffix.empty() ? "ColorMap.png" : "ColorMap_" + suffix + ".png";
41 const std::string depthFile = suffix.empty() ? "DepthMap.png" : "DepthMap_" + suffix + ".png";
42 const std::string pointCloudPath =
43 suffix.empty() ? "PointCloud.ply" : "PointCloud_" + suffix + ".ply";
44 const std::string pointCloudColorPath =
45 suffix.empty() ? "ColorPointCloud.ply" : "ColorPointCloud_" + suffix + ".ply";
46
48 showError(device.captureColorMap(color));
49 saveMap(color, colorFile);
50
52 showError(device.captureDepthMap(depth));
53 saveMap(depth, depthFile);
54
55 mmind::api::PointXYZMap pointXYZMap;
56 showError(device.capturePointXYZMap(pointXYZMap));
57 savePLY(pointXYZMap, pointCloudPath);
58
59 mmind::api::PointXYZBGRMap pointXYZBGRMap;
60 showError(device.capturePointXYZBGRMap(pointXYZBGRMap));
61 savePLY(pointXYZBGRMap, pointCloudColorPath);
62}
Definition of data structure in device capturing image.
Interface that is used to connect the Mech-Eye Industrial 3D Camera and access basic information of t...
Definition MechEyeApi.h:58
ErrorStatus captureDepthMap(DepthMap &depthMap) const
Captures a depth image.
ErrorStatus capturePointXYZBGRMap(PointXYZBGRMap &pointXYZBGRMap) const
Captures a colored point cloud image.
ErrorStatus captureColorMap(ColorMap &colorMap) const
Captures a color image.
ErrorStatus capturePointXYZMap(PointXYZMap &pointXYZMap) const
Captures a point cloud image.