[−][src]Struct opencv::rgbd::FastICPOdometry
A faster version of ICPOdometry which is used in KinectFusion implementation Partial list of differences:
- Works in parallel
- Written in universal intrinsics
- Filters points by angle
- Interpolates points and normals
- Doesn't use masks or min/max depth filtering
- Doesn't use random subsets of points
- Supports only Rt transform type
- Supports only 4-float vectors as input type
Implementations
impl FastICPOdometry
[src]
pub fn as_raw_FastICPOdometry(&self) -> *const c_void
[src]
pub fn as_raw_mut_FastICPOdometry(&mut self) -> *mut c_void
[src]
impl FastICPOdometry
[src]
pub fn default() -> Result<FastICPOdometry>
[src]
pub fn new(
camera_matrix: &Mat,
max_dist_diff: f32,
angle_threshold: f32,
sigma_depth: f32,
sigma_spatial: f32,
kernel_size: i32,
iter_counts: &Vector<i32>
) -> Result<FastICPOdometry>
[src]
camera_matrix: &Mat,
max_dist_diff: f32,
angle_threshold: f32,
sigma_depth: f32,
sigma_spatial: f32,
kernel_size: i32,
iter_counts: &Vector<i32>
) -> Result<FastICPOdometry>
Constructor.
Parameters
- cameraMatrix: Camera matrix
- maxDistDiff: Correspondences between pixels of two given frames will be filtered out if their depth difference is larger than maxDepthDiff
- angleThreshold: Correspondence will be filtered out if an angle between their normals is bigger than threshold
- sigmaDepth: Depth sigma in meters for bilateral smooth
- sigmaSpatial: Spatial sigma in pixels for bilateral smooth
- kernelSize: Kernel size in pixels for bilateral smooth
- iterCounts: Count of iterations on each pyramid level
C++ default parameters
- max_dist_diff: Odometry::DEFAULT_MAX_DEPTH_DIFF()
- angle_threshold: (float)(30.*CV_PI/180.)
- sigma_depth: 0.04f
- sigma_spatial: 4.5f
- kernel_size: 7
- iter_counts: std::vector
()
pub fn create(
camera_matrix: &Mat,
max_dist_diff: f32,
angle_threshold: f32,
sigma_depth: f32,
sigma_spatial: f32,
kernel_size: i32,
iter_counts: &Vector<i32>
) -> Result<Ptr<FastICPOdometry>>
[src]
camera_matrix: &Mat,
max_dist_diff: f32,
angle_threshold: f32,
sigma_depth: f32,
sigma_spatial: f32,
kernel_size: i32,
iter_counts: &Vector<i32>
) -> Result<Ptr<FastICPOdometry>>
C++ default parameters
- max_dist_diff: Odometry::DEFAULT_MAX_DEPTH_DIFF()
- angle_threshold: (float)(30.*CV_PI/180.)
- sigma_depth: 0.04f
- sigma_spatial: 4.5f
- kernel_size: 7
- iter_counts: std::vector
()
Trait Implementations
impl AlgorithmTrait for FastICPOdometry
[src]
pub fn as_raw_Algorithm(&self) -> *const c_void
[src]
pub fn as_raw_mut_Algorithm(&mut self) -> *mut c_void
[src]
pub fn clear(&mut self) -> Result<()>
[src]
pub fn write(&self, fs: &mut FileStorage) -> Result<()>
[src]
pub fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
[src]
pub fn read(&mut self, fn_: &FileNode) -> Result<()>
[src]
pub fn empty(&self) -> Result<bool>
[src]
pub fn save(&self, filename: &str) -> Result<()>
[src]
pub fn get_default_name(&self) -> Result<String>
[src]
impl Boxed for FastICPOdometry
[src]
pub unsafe fn from_raw(ptr: *mut c_void) -> Self
[src]
pub fn into_raw(self) -> *mut c_void
[src]
pub fn as_raw(&self) -> *const c_void
[src]
pub fn as_raw_mut(&mut self) -> *mut c_void
[src]
impl Drop for FastICPOdometry
[src]
impl FastICPOdometryTrait for FastICPOdometry
[src]
pub fn as_raw_FastICPOdometry(&self) -> *const c_void
[src]
pub fn as_raw_mut_FastICPOdometry(&mut self) -> *mut c_void
[src]
pub fn prepare_frame_cache(
&self,
frame: &mut Ptr<OdometryFrame>,
cache_type: i32
) -> Result<Size>
[src]
&self,
frame: &mut Ptr<OdometryFrame>,
cache_type: i32
) -> Result<Size>
pub fn get_camera_matrix(&self) -> Result<Mat>
[src]
pub fn set_camera_matrix(&mut self, val: &Mat) -> Result<()>
[src]
pub fn get_max_dist_diff(&self) -> Result<f64>
[src]
pub fn set_max_dist_diff(&mut self, val: f32) -> Result<()>
[src]
pub fn get_angle_threshold(&self) -> Result<f32>
[src]
pub fn set_angle_threshold(&mut self, f: f32) -> Result<()>
[src]
pub fn get_sigma_depth(&self) -> Result<f32>
[src]
pub fn set_sigma_depth(&mut self, f: f32) -> Result<()>
[src]
pub fn get_sigma_spatial(&self) -> Result<f32>
[src]
pub fn set_sigma_spatial(&mut self, f: f32) -> Result<()>
[src]
pub fn get_kernel_size(&self) -> Result<i32>
[src]
pub fn set_kernel_size(&mut self, f: i32) -> Result<()>
[src]
pub fn get_iteration_counts(&self) -> Result<Mat>
[src]
pub fn set_iteration_counts(&mut self, val: &Mat) -> Result<()>
[src]
pub fn get_transform_type(&self) -> Result<i32>
[src]
pub fn set_transform_type(&mut self, val: i32) -> Result<()>
[src]
impl Odometry for FastICPOdometry
[src]
pub fn as_raw_Odometry(&self) -> *const c_void
[src]
pub fn as_raw_mut_Odometry(&mut self) -> *mut c_void
[src]
pub fn compute(
&self,
src_image: &Mat,
src_depth: &Mat,
src_mask: &Mat,
dst_image: &Mat,
dst_depth: &Mat,
dst_mask: &Mat,
rt: &mut dyn ToOutputArray,
init_rt: &Mat
) -> Result<bool>
[src]
&self,
src_image: &Mat,
src_depth: &Mat,
src_mask: &Mat,
dst_image: &Mat,
dst_depth: &Mat,
dst_mask: &Mat,
rt: &mut dyn ToOutputArray,
init_rt: &Mat
) -> Result<bool>
pub fn compute2(
&self,
src_frame: &mut Ptr<OdometryFrame>,
dst_frame: &mut Ptr<OdometryFrame>,
rt: &mut dyn ToOutputArray,
init_rt: &Mat
) -> Result<bool>
[src]
&self,
src_frame: &mut Ptr<OdometryFrame>,
dst_frame: &mut Ptr<OdometryFrame>,
rt: &mut dyn ToOutputArray,
init_rt: &Mat
) -> Result<bool>
pub fn prepare_frame_cache(
&self,
frame: &mut Ptr<OdometryFrame>,
cache_type: i32
) -> Result<Size>
[src]
&self,
frame: &mut Ptr<OdometryFrame>,
cache_type: i32
) -> Result<Size>
pub fn get_camera_matrix(&self) -> Result<Mat>
[src]
pub fn set_camera_matrix(&mut self, val: &Mat) -> Result<()>
[src]
pub fn get_transform_type(&self) -> Result<i32>
[src]
pub fn set_transform_type(&mut self, val: i32) -> Result<()>
[src]
impl Send for FastICPOdometry
[src]
Auto Trait Implementations
impl RefUnwindSafe for FastICPOdometry
[src]
impl !Sync for FastICPOdometry
[src]
impl Unpin for FastICPOdometry
[src]
impl UnwindSafe for FastICPOdometry
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,