Mech-Eye API 2.3.3
API reference documentation for Mech-Eye Industrial 3D Camera
Loading...
Searching...
No Matches
OpenCVUtil.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
33#pragma once
34#include <iostream>
35#include <opencv2/imgcodecs.hpp>
36#include "MechEyeApi.h"
37
38inline void saveMap(mmind::api::ColorMap color, std::string path)
39{
40 cv::Mat color8UC3 = cv::Mat(color.height(), color.width(), CV_8UC3, color.data());
41 cv::imwrite(path, color8UC3);
42 std::cout << "Capture and save color image : " << path << std::endl;
43}
44
45inline void saveMap(mmind::api::DepthMap depth, std::string path)
46{
47 cv::Mat depth32F = cv::Mat(depth.height(), depth.width(), CV_32FC1, depth.data());
48 cv::imwrite(path, depth32F);
49 std::cout << "Capture and save depth image : " << path << std::endl;
50}
51
52inline void saveMap(float* depth, int lineCount, int width, const std::string& path)
53{
54 cv::imwrite(path, cv::Mat(lineCount, width, CV_32FC1, depth));
55}
56
57inline void saveIntensity(unsigned char* intensity, int lineCount, int width,
58 const std::string& path)
59{
60 cv::imwrite(path, cv::Mat(lineCount, width, CV_8UC1, intensity));
61}
Definition of data structure in device capturing image.
uint32_t width() const
uint32_t height() const
const ElementType * data() const