Struct opencv::rgbd::ColoredKinfu_ColoredKinFu
source · pub struct ColoredKinfu_ColoredKinFu { /* private fields */ }
Expand description
KinectFusion implementation
This class implements a 3d reconstruction algorithm described in kinectfusion paper.
It takes a sequence of depth images taken from depth sensor (or any depth images source such as stereo camera matching algorithm or even raymarching renderer). The output can be obtained as a vector of points and their normals or can be Phong-rendered from given camera pose.
An internal representation of a model is a voxel cuboid that keeps TSDF values which are a sort of distances to the surface (for details read the kinectfusion article about TSDF). There is no interface to that representation yet.
KinFu uses OpenCL acceleration automatically if available. To enable or disable it explicitly use cv::setUseOptimized() or cv::ocl::setUseOpenCL().
This implementation is based on kinfu-remake.
Note that the KinectFusion algorithm was patented and its use may be restricted by the list of patents mentioned in README.md file in this module directory.
That’s why you need to set the OPENCV_ENABLE_NONFREE option in CMake to use KinectFusion.
Implementations§
source§impl ColoredKinfu_ColoredKinFu
impl ColoredKinfu_ColoredKinFu
pub fn create( _params: &Ptr<ColoredKinfu_Params> ) -> Result<Ptr<ColoredKinfu_ColoredKinFu>>
Trait Implementations§
source§impl Boxed for ColoredKinfu_ColoredKinFu
impl Boxed for ColoredKinfu_ColoredKinFu
source§unsafe fn from_raw(
ptr: <ColoredKinfu_ColoredKinFu as OpenCVFromExtern>::ExternReceive
) -> Self
unsafe fn from_raw( ptr: <ColoredKinfu_ColoredKinFu as OpenCVFromExtern>::ExternReceive ) -> Self
source§fn into_raw(
self
) -> <ColoredKinfu_ColoredKinFu as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw( self ) -> <ColoredKinfu_ColoredKinFu as OpenCVTypeExternContainer>::ExternSendMut
source§fn as_raw(
&self
) -> <ColoredKinfu_ColoredKinFu as OpenCVTypeExternContainer>::ExternSend
fn as_raw( &self ) -> <ColoredKinfu_ColoredKinFu as OpenCVTypeExternContainer>::ExternSend
source§fn as_raw_mut(
&mut self
) -> <ColoredKinfu_ColoredKinFu as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self ) -> <ColoredKinfu_ColoredKinFu as OpenCVTypeExternContainer>::ExternSendMut
source§impl ColoredKinfu_ColoredKinFuTraitConst for ColoredKinfu_ColoredKinFu
impl ColoredKinfu_ColoredKinFuTraitConst for ColoredKinfu_ColoredKinFu
fn as_raw_ColoredKinfu_ColoredKinFu(&self) -> *const c_void
source§fn get_params(&self) -> Result<ColoredKinfu_Params>
fn get_params(&self) -> Result<ColoredKinfu_Params>
source§fn render(&self, image: &mut impl ToOutputArray) -> Result<()>
fn render(&self, image: &mut impl ToOutputArray) -> Result<()>
source§fn render_1(
&self,
image: &mut impl ToOutputArray,
camera_pose: Matx44f
) -> Result<()>
fn render_1( &self, image: &mut impl ToOutputArray, camera_pose: Matx44f ) -> Result<()>
source§fn get_cloud(
&self,
points: &mut impl ToOutputArray,
normals: &mut impl ToOutputArray,
colors: &mut impl ToOutputArray
) -> Result<()>
fn get_cloud( &self, points: &mut impl ToOutputArray, normals: &mut impl ToOutputArray, colors: &mut impl ToOutputArray ) -> Result<()>
source§fn get_cloud_def(
&self,
points: &mut impl ToOutputArray,
normals: &mut impl ToOutputArray
) -> Result<()>
fn get_cloud_def( &self, points: &mut impl ToOutputArray, normals: &mut impl ToOutputArray ) -> Result<()>
source§fn get_points(&self, points: &mut impl ToOutputArray) -> Result<()>
fn get_points(&self, points: &mut impl ToOutputArray) -> Result<()>
source§fn get_normals(
&self,
points: &impl ToInputArray,
normals: &mut impl ToOutputArray
) -> Result<()>
fn get_normals( &self, points: &impl ToInputArray, normals: &mut impl ToOutputArray ) -> Result<()>
source§impl Debug for ColoredKinfu_ColoredKinFu
impl Debug for ColoredKinfu_ColoredKinFu
source§impl Drop for ColoredKinfu_ColoredKinFu
impl Drop for ColoredKinfu_ColoredKinFu
impl Send for ColoredKinfu_ColoredKinFu
Auto Trait Implementations§
impl Freeze for ColoredKinfu_ColoredKinFu
impl RefUnwindSafe for ColoredKinfu_ColoredKinFu
impl !Sync for ColoredKinfu_ColoredKinFu
impl Unpin for ColoredKinfu_ColoredKinFu
impl UnwindSafe for ColoredKinfu_ColoredKinFu
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
impl<Mat> ModifyInplace for Matwhere
Mat: Boxed,
source§unsafe fn modify_inplace<Res>(
&mut self,
f: impl FnOnce(&Mat, &mut Mat) -> Res
) -> Res
unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res ) -> Res
Mat
or another similar object. By passing
a mutable reference to the Mat
to this function your closure will get called with the read reference and a write references
to the same Mat
. This is of course unsafe as it breaks the Rust aliasing rules, but it might be useful for some performance
sensitive operations. One example of an OpenCV function that allows such in-place modification is imgproc::threshold
. Read more