OpenCV 4.5.3(日本語機械翻訳)
large_kinfu.hpp
1 // This file is part of OpenCV project.
2 // It is subject to the license terms in the LICENSE file found in the top-level directory
3 // of this distribution and at http://opencv.org/license.html
4
5 // This code is also subject to the license terms in the LICENSE_KinectFusion.md file found in this
6 // module's directory
7
8 #ifndef __OPENCV_RGBD_LARGEKINFU_HPP__
9 #define __OPENCV_RGBD_LARGEKINFU_HPP__
10
11 #include <opencv2/rgbd/volume.hpp>
12
13 #include "opencv2/core.hpp"
14 #include "opencv2/core/affine.hpp"
15
16 namespace cv
17{
18 namespace large_kinfu
19{
20 struct CV_EXPORTS_W Params
21{
25 CV_WRAP static Ptr<Params> defaultParams();
26
31 CV_WRAP static Ptr<Params> coarseParams();
32
36 CV_WRAP static Ptr<Params> hashTSDFParams(bool isCoarse);
37
39 CV_PROP_RW Size frameSize;
40
42 CV_PROP_RW Matx33f intr;
43
45 CV_PROP_RW Matx33f rgb_intr;
46
53 CV_PROP_RW float depthFactor;
54
56 CV_PROP_RW float bilateral_sigma_depth;
58 CV_PROP_RW float bilateral_sigma_spatial;
60 CV_PROP_RW int bilateral_kernel_size;
61
63 CV_PROP_RW int pyramidLevels;
64
68 CV_PROP_RW float tsdf_min_camera_movement;
69
71 CV_PROP_RW Vec3f lightPose;
72
74 CV_PROP_RW float icpDistThresh;
76 CV_PROP_RW float icpAngleThresh;
78 CV_PROP_RW std::vector<int> icpIterations;
79
83 CV_PROP_RW float truncateThreshold;
84
88};
89
120 class CV_EXPORTS_W LargeKinfu
121{
122 public:
123 CV_WRAP static Ptr<LargeKinfu> create(const Ptr<Params>& _params);
124 virtual ~LargeKinfu() = default;
125
126 virtual const Params& getParams() const = 0;
127
128 CV_WRAP virtual void render(OutputArray image) const = 0;
129 CV_WRAP virtual void render(OutputArray image, const Matx44f& cameraPose) const = 0;
130
131 CV_WRAP virtual void getCloud(OutputArray points, OutputArray normals) const = 0;
132
133 CV_WRAP virtual void getPoints(OutputArray points) const = 0;
134
135 CV_WRAP virtual void getNormals(InputArray points, OutputArray normals) const = 0;
136
137 CV_WRAP virtual void reset() = 0;
138
139 virtual const Affine3f getPose() const = 0;
140
141 CV_WRAP virtual bool update(InputArray depth) = 0;
142};
143
144} // namespace large_kinfu
145} // namespace cv
146 #endif
This type is very similar to InputArray except that it is used for input/output and output function p...
Definition: mat.hpp:295
Template class for small matrices whose type and size are known at compilation time
Definition: matx.hpp:100
Template class for specifying the size of an image or rectangle.
Definition: core/types.hpp:316
Template class for short numerical vectors, a partial case of Matx
Definition: matx.hpp:342
Large Scale Dense Depth Fusion implementation
Definition: large_kinfu.hpp:121
CV_EXPORTS void render(const Texture2D &tex, Rect_< double > wndRect=Rect_< double >(0.0, 0.0, 1.0, 1.0), Rect_< double > texRect=Rect_< double >(0.0, 0.0, 1.0, 1.0))
Render OpenGL texture or primitives.
cv
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
Definition: cvstd_wrapper.hpp:74
Definition: volume.hpp:59
Definition: large_kinfu.hpp:21
kinfu::VolumeParams volumeParams
Volume parameters
Definition: large_kinfu.hpp:87