OpenPose3DDepthImageConverter.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package VisionX::ArmarXObjects::OpenPoseEstimation
17 * @author Stefan Reither ( stef dot reither at web dot de )
18 * @date 2018
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22#pragma once
23
24// STD/STL
25
26// IVT
27#include <ivt/Calibration/Calibration.h>
28
29// ArmarX
31
32// OpenPose stuff
33#include "OpenPoseEstimation.h"
34
35namespace visionx
36{
37
38 class OpenPose3DDepthImageConverter : OpenPoseEstimation
39 {
40 public:
41 protected:
43 virtual void setupLocalVariables() override;
44 virtual void destroyLocalVariables() override;
46
47 CByteImage* VisualizeTransparentImageMask(const CByteImage& maskedInputImage,
48 int brightnessIncrease,
49 const CByteImage& inputImage);
50
51 private:
52 int getMedianDepthFromImage(int x, int y, int radius) const;
53
54 protected:
55 // Depth image info
56 unsigned int radius = 10;
57 unsigned int maxDepth = 3000;
58 unsigned int maxDepthDifference = 700;
59
60 // Image calibration
61 const CCalibration* calibration = nullptr;
62 std::string cameraNodeName = "";
63
64 // ImageBuffer und ImageInformations
66
67 CByteImage* depthImageBuffer;
69 };
70} // namespace visionx
CByteImage * VisualizeTransparentImageMask(const CByteImage &maskedInputImage, int brightnessIncrease, const CByteImage &inputImage)
virtual void setupPropertyDefinitions(armarx::PropertyDefinitionsPtr &def) override
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
ArmarX headers.