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 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