Struct opencv::cudastereo::CUDA_StereoConstantSpaceBP
source · pub struct CUDA_StereoConstantSpaceBP { /* private fields */ }Expand description
Class computing stereo correspondence using the constant space belief propagation algorithm. :
The class implements algorithm described in Yang2010 . StereoConstantSpaceBP supports both local minimum and global minimum data cost initialization algorithms. For more details, see the paper mentioned above. By default, a local algorithm is used. To enable a global algorithm, set use_local_init_data_cost to false .
StereoConstantSpaceBP uses a truncated linear model for the data cost and discontinuity terms:
For more details, see Yang2010 .
By default, StereoConstantSpaceBP uses floating-point arithmetics and the CV_32FC1 type for messages. But it can also use fixed-point arithmetics and the CV_16SC1 message type for better performance. To avoid an overflow in this case, the parameters must satisfy the following requirement:
Implementations§
Trait Implementations§
source§impl AlgorithmTraitConst for CUDA_StereoConstantSpaceBP
impl AlgorithmTraitConst for CUDA_StereoConstantSpaceBP
fn as_raw_Algorithm(&self) -> *const c_void
source§fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>
source§fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>
source§fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>
source§fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>
§Note
source§fn empty(&self) -> Result<bool>
fn empty(&self) -> Result<bool>
source§fn save(&self, filename: &str) -> Result<()>
fn save(&self, filename: &str) -> Result<()>
source§fn get_default_name(&self) -> Result<String>
fn get_default_name(&self) -> Result<String>
source§impl Boxed for CUDA_StereoConstantSpaceBP
impl Boxed for CUDA_StereoConstantSpaceBP
source§unsafe fn from_raw(
ptr: <CUDA_StereoConstantSpaceBP as OpenCVFromExtern>::ExternReceive,
) -> Self
unsafe fn from_raw( ptr: <CUDA_StereoConstantSpaceBP as OpenCVFromExtern>::ExternReceive, ) -> Self
source§fn into_raw(
self,
) -> <CUDA_StereoConstantSpaceBP as OpenCVTypeExternContainer>::ExternSendMut
fn into_raw( self, ) -> <CUDA_StereoConstantSpaceBP as OpenCVTypeExternContainer>::ExternSendMut
source§fn as_raw(
&self,
) -> <CUDA_StereoConstantSpaceBP as OpenCVTypeExternContainer>::ExternSend
fn as_raw( &self, ) -> <CUDA_StereoConstantSpaceBP as OpenCVTypeExternContainer>::ExternSend
source§fn as_raw_mut(
&mut self,
) -> <CUDA_StereoConstantSpaceBP as OpenCVTypeExternContainer>::ExternSendMut
fn as_raw_mut( &mut self, ) -> <CUDA_StereoConstantSpaceBP as OpenCVTypeExternContainer>::ExternSendMut
source§impl CUDA_StereoBeliefPropagationTrait for CUDA_StereoConstantSpaceBP
impl CUDA_StereoBeliefPropagationTrait for CUDA_StereoConstantSpaceBP
fn as_raw_mut_CUDA_StereoBeliefPropagation(&mut self) -> *mut c_void
source§fn compute(
&mut self,
left: &impl ToInputArray,
right: &impl ToInputArray,
disparity: &mut impl ToOutputArray,
stream: &mut impl StreamTrait,
) -> Result<()>
fn compute( &mut self, left: &impl ToInputArray, right: &impl ToInputArray, disparity: &mut impl ToOutputArray, stream: &mut impl StreamTrait, ) -> Result<()>
source§fn compute_1(
&mut self,
data: &impl ToInputArray,
disparity: &mut impl ToOutputArray,
stream: &mut impl StreamTrait,
) -> Result<()>
fn compute_1( &mut self, data: &impl ToInputArray, disparity: &mut impl ToOutputArray, stream: &mut impl StreamTrait, ) -> Result<()>
source§fn compute_def(
&mut self,
data: &impl ToInputArray,
disparity: &mut impl ToOutputArray,
) -> Result<()>
fn compute_def( &mut self, data: &impl ToInputArray, disparity: &mut impl ToOutputArray, ) -> Result<()>
fn set_num_iters(&mut self, iters: i32) -> Result<()>
fn set_num_levels(&mut self, levels: i32) -> Result<()>
fn set_max_data_term(&mut self, max_data_term: f64) -> Result<()>
fn set_data_weight(&mut self, data_weight: f64) -> Result<()>
fn set_max_disc_term(&mut self, max_disc_term: f64) -> Result<()>
fn set_disc_single_jump(&mut self, disc_single_jump: f64) -> Result<()>
fn set_msg_type(&mut self, msg_type: i32) -> Result<()>
source§impl CUDA_StereoBeliefPropagationTraitConst for CUDA_StereoConstantSpaceBP
impl CUDA_StereoBeliefPropagationTraitConst for CUDA_StereoConstantSpaceBP
fn as_raw_CUDA_StereoBeliefPropagation(&self) -> *const c_void
source§fn get_num_iters(&self) -> Result<i32>
fn get_num_iters(&self) -> Result<i32>
source§fn get_num_levels(&self) -> Result<i32>
fn get_num_levels(&self) -> Result<i32>
source§fn get_max_data_term(&self) -> Result<f64>
fn get_max_data_term(&self) -> Result<f64>
source§fn get_data_weight(&self) -> Result<f64>
fn get_data_weight(&self) -> Result<f64>
source§fn get_max_disc_term(&self) -> Result<f64>
fn get_max_disc_term(&self) -> Result<f64>
source§fn get_disc_single_jump(&self) -> Result<f64>
fn get_disc_single_jump(&self) -> Result<f64>
source§fn get_msg_type(&self) -> Result<i32>
fn get_msg_type(&self) -> Result<i32>
source§impl CUDA_StereoConstantSpaceBPTraitConst for CUDA_StereoConstantSpaceBP
impl CUDA_StereoConstantSpaceBPTraitConst for CUDA_StereoConstantSpaceBP
fn as_raw_CUDA_StereoConstantSpaceBP(&self) -> *const c_void
source§fn get_nr_plane(&self) -> Result<i32>
fn get_nr_plane(&self) -> Result<i32>
fn get_use_local_init_data_cost(&self) -> Result<bool>
source§impl Debug for CUDA_StereoConstantSpaceBP
impl Debug for CUDA_StereoConstantSpaceBP
source§impl Drop for CUDA_StereoConstantSpaceBP
impl Drop for CUDA_StereoConstantSpaceBP
source§impl From<CUDA_StereoConstantSpaceBP> for Algorithm
impl From<CUDA_StereoConstantSpaceBP> for Algorithm
source§fn from(s: CUDA_StereoConstantSpaceBP) -> Self
fn from(s: CUDA_StereoConstantSpaceBP) -> Self
source§impl From<CUDA_StereoConstantSpaceBP> for CUDA_StereoBeliefPropagation
impl From<CUDA_StereoConstantSpaceBP> for CUDA_StereoBeliefPropagation
source§fn from(s: CUDA_StereoConstantSpaceBP) -> Self
fn from(s: CUDA_StereoConstantSpaceBP) -> Self
source§impl From<CUDA_StereoConstantSpaceBP> for StereoMatcher
impl From<CUDA_StereoConstantSpaceBP> for StereoMatcher
source§fn from(s: CUDA_StereoConstantSpaceBP) -> Self
fn from(s: CUDA_StereoConstantSpaceBP) -> Self
source§impl StereoMatcherTrait for CUDA_StereoConstantSpaceBP
impl StereoMatcherTrait for CUDA_StereoConstantSpaceBP
fn as_raw_mut_StereoMatcher(&mut self) -> *mut c_void
source§fn compute(
&mut self,
left: &impl ToInputArray,
right: &impl ToInputArray,
disparity: &mut impl ToOutputArray,
) -> Result<()>
fn compute( &mut self, left: &impl ToInputArray, right: &impl ToInputArray, disparity: &mut impl ToOutputArray, ) -> Result<()>
fn set_min_disparity(&mut self, min_disparity: i32) -> Result<()>
fn set_num_disparities(&mut self, num_disparities: i32) -> Result<()>
fn set_block_size(&mut self, block_size: i32) -> Result<()>
fn set_speckle_window_size(&mut self, speckle_window_size: i32) -> Result<()>
fn set_speckle_range(&mut self, speckle_range: i32) -> Result<()>
fn set_disp12_max_diff(&mut self, disp12_max_diff: i32) -> Result<()>
source§impl StereoMatcherTraitConst for CUDA_StereoConstantSpaceBP
impl StereoMatcherTraitConst for CUDA_StereoConstantSpaceBP
fn as_raw_StereoMatcher(&self) -> *const c_void
fn get_min_disparity(&self) -> Result<i32>
fn get_num_disparities(&self) -> Result<i32>
fn get_block_size(&self) -> Result<i32>
fn get_speckle_window_size(&self) -> Result<i32>
fn get_speckle_range(&self) -> Result<i32>
fn get_disp12_max_diff(&self) -> Result<i32>
impl Send for CUDA_StereoConstantSpaceBP
Auto Trait Implementations§
impl Freeze for CUDA_StereoConstantSpaceBP
impl RefUnwindSafe for CUDA_StereoConstantSpaceBP
impl !Sync for CUDA_StereoConstantSpaceBP
impl Unpin for CUDA_StereoConstantSpaceBP
impl UnwindSafe for CUDA_StereoConstantSpaceBP
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 unsafe in a general case as it leads to having non-exclusive mutable access to the internal data,
but it can be useful for some performance sensitive operations. One example of an OpenCV function that allows such in-place
modification is imgproc::threshold. Read more