8#ifndef __OPENCV_RGBD_VOLUME_H__
9#define __OPENCV_RGBD_VOLUME_H__
11#include "intrinsics.hpp"
12#include "opencv2/core/affine.hpp"
21 Volume(
float _voxelSize,
Matx44f _pose,
float _raycastStepFactor)
22 : voxelSize(_voxelSize),
23 voxelSizeInv(1.0f / voxelSize),
25 raycastStepFactor(_raycastStepFactor)
31 virtual void integrate(InputArray _depth,
float depthFactor,
const Matx44f& cameraPose,
32 const kinfu::Intr& intrinsics,
const int frameId = 0) = 0;
33 virtual void integrate(InputArray _depth, InputArray _rgb,
float depthFactor,
35 const Intr& rgb_intrinsics,
const int frameId = 0) = 0;
40 virtual void fetchNormals(InputArray points,
OutputArray _normals)
const = 0;
42 virtual void reset() = 0;
45 const float voxelSize;
46 const float voxelSizeInv;
48 const float raycastStepFactor;
63 CV_PROP_RW VolumeType type;
76 CV_PROP_RW
int unitResolution = {0};
82 CV_PROP_RW
float voxelSize;
87 CV_PROP_RW
float tsdfTruncDist;
93 CV_PROP_RW
int maxWeight;
98 CV_PROP_RW
float depthTruncThreshold;
103 CV_PROP_RW
float raycastStepFactor;
118CV_EXPORTS_W
Ptr<Volume> makeVolume(VolumeType _volumeType,
float _voxelSize,
Matx44f _pose,
119 float _raycastStepFactor,
float _truncDist,
int _maxWeight,
120 float _truncateThreshold,
Vec3i _resolution);
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
Definition: volume.hpp:19
"black box" representation of the file storage associated with a file on disk.
Definition: aruco.hpp:75
Definition: cvstd_wrapper.hpp:74
Definition: intrinsics.hpp:16
Definition: volume.hpp:59
Affine3f pose
Initial pose of the volume in meters
Definition: volume.hpp:79