StereoBM

Struct StereoBM 

Source
pub struct StereoBM { /* private fields */ }
Expand description

Class for computing stereo correspondence using the block matching algorithm, introduced and contributed to OpenCV by K. Konolige. @details This class implements a block matching algorithm for stereo correspondence, which is used to compute disparity maps from stereo image pairs. It provides methods to fine-tune parameters such as pre-filtering, texture thresholds, uniqueness ratios, and regions of interest (ROIs) to optimize performance and accuracy.

Implementations§

Source§

impl StereoBM

Source

pub fn create(num_disparities: i32, block_size: i32) -> Result<Ptr<StereoBM>>

Creates StereoBM object

§Parameters
  • numDisparities: The disparity search range. For each pixel, the algorithm will find the best disparity from 0 (default minimum disparity) to numDisparities. The search range can be shifted by changing the minimum disparity.
  • blockSize: The linear size of the blocks compared by the algorithm. The size should be odd (as the block is centered at the current pixel). Larger block size implies smoother, though less accurate disparity map. Smaller block size gives more detailed disparity map, but there is a higher chance for the algorithm to find a wrong correspondence.
§Returns

A pointer to the created StereoBM object. @details The function creates a StereoBM object. You can then call StereoBM::compute() to compute disparity for a specific stereo pair.

§C++ default parameters
  • num_disparities: 0
  • block_size: 21
Source

pub fn create_def() -> Result<Ptr<StereoBM>>

Creates StereoBM object

§Parameters
  • numDisparities: The disparity search range. For each pixel, the algorithm will find the best disparity from 0 (default minimum disparity) to numDisparities. The search range can be shifted by changing the minimum disparity.
  • blockSize: The linear size of the blocks compared by the algorithm. The size should be odd (as the block is centered at the current pixel). Larger block size implies smoother, though less accurate disparity map. Smaller block size gives more detailed disparity map, but there is a higher chance for the algorithm to find a wrong correspondence.
§Returns

A pointer to the created StereoBM object. @details The function creates a StereoBM object. You can then call StereoBM::compute() to compute disparity for a specific stereo pair.

§Note

This alternative version of StereoBM::create function uses the following default values for its arguments:

  • num_disparities: 0
  • block_size: 21

Trait Implementations§

Source§

impl AlgorithmTrait for StereoBM

Source§

fn as_raw_mut_Algorithm(&mut self) -> *mut c_void

Source§

fn clear(&mut self) -> Result<()>

Clears the algorithm state
Source§

fn read(&mut self, fn_: &impl FileNodeTraitConst) -> Result<()>

Reads algorithm parameters from a file storage
Source§

impl AlgorithmTraitConst for StereoBM

Source§

fn as_raw_Algorithm(&self) -> *const c_void

Source§

fn write(&self, fs: &mut impl FileStorageTrait) -> Result<()>

Stores algorithm parameters in a file storage
Source§

fn write_1(&self, fs: &mut impl FileStorageTrait, name: &str) -> Result<()>

Stores algorithm parameters in a file storage Read more
Source§

fn write_with_name(&self, fs: &Ptr<FileStorage>, name: &str) -> Result<()>

@deprecated Read more
Source§

fn write_with_name_def(&self, fs: &Ptr<FileStorage>) -> Result<()>

👎Deprecated:

§Note

Deprecated: ## Note This alternative version of AlgorithmTraitConst::write_with_name function uses the following default values for its arguments: Read more
Source§

fn empty(&self) -> Result<bool>

Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
Source§

fn save(&self, filename: &str) -> Result<()>

Saves the algorithm to a file. In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
Source§

fn get_default_name(&self) -> Result<String>

Returns the algorithm string identifier. This string is used as top level xml/yml node tag when the object is saved to a file or string.
Source§

impl Boxed for StereoBM

Source§

unsafe fn from_raw(ptr: <StereoBM as OpenCVFromExtern>::ExternReceive) -> Self

Wrap the specified raw pointer Read more
Source§

fn into_raw(self) -> <StereoBM as OpenCVTypeExternContainer>::ExternSendMut

Return the underlying raw pointer while consuming this wrapper. Read more
Source§

fn as_raw(&self) -> <StereoBM as OpenCVTypeExternContainer>::ExternSend

Return the underlying raw pointer. Read more
Source§

fn as_raw_mut( &mut self, ) -> <StereoBM as OpenCVTypeExternContainer>::ExternSendMut

Return the underlying mutable raw pointer Read more
Source§

impl Debug for StereoBM

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for StereoBM

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<CUDA_StereoBM> for StereoBM

Source§

fn from(s: CUDA_StereoBM) -> Self

Converts to this type from the input type.
Source§

impl From<StereoBM> for Algorithm

Source§

fn from(s: StereoBM) -> Self

Converts to this type from the input type.
Source§

impl From<StereoBM> for StereoMatcher

Source§

fn from(s: StereoBM) -> Self

Converts to this type from the input type.
Source§

impl StereoBMTrait for StereoBM

Source§

fn as_raw_mut_StereoBM(&mut self) -> *mut c_void

Source§

fn set_pre_filter_type(&mut self, pre_filter_type: i32) -> Result<()>

Sets the type of pre-filtering used in the algorithm. Read more
Source§

fn set_pre_filter_size(&mut self, pre_filter_size: i32) -> Result<()>

Sets the size of the pre-filter kernel. Read more
Source§

fn set_pre_filter_cap(&mut self, pre_filter_cap: i32) -> Result<()>

Sets the truncation value for prefiltered pixels. Read more
Source§

fn set_texture_threshold(&mut self, texture_threshold: i32) -> Result<()>

Sets the threshold for filtering low-texture regions. Read more
Source§

fn set_uniqueness_ratio(&mut self, uniqueness_ratio: i32) -> Result<()>

Sets the uniqueness ratio for filtering ambiguous matches. Read more
Source§

fn set_smaller_block_size(&mut self, block_size: i32) -> Result<()>

Sets the size of the smaller block used for texture check. Read more
Source§

fn set_roi1(&mut self, roi1: Rect) -> Result<()>

Sets the Region of Interest (ROI) for the left image. Read more
Source§

fn set_roi2(&mut self, roi2: Rect) -> Result<()>

Sets the Region of Interest (ROI) for the right image. Read more
Source§

impl StereoBMTraitConst for StereoBM

Source§

fn as_raw_StereoBM(&self) -> *const c_void

Source§

fn get_pre_filter_type(&self) -> Result<i32>

Gets the type of pre-filtering currently used in the algorithm. Read more
Source§

fn get_pre_filter_size(&self) -> Result<i32>

Gets the current size of the pre-filter kernel. Read more
Source§

fn get_pre_filter_cap(&self) -> Result<i32>

Gets the current truncation value for prefiltered pixels. Read more
Source§

fn get_texture_threshold(&self) -> Result<i32>

Gets the current texture threshold value. Read more
Source§

fn get_uniqueness_ratio(&self) -> Result<i32>

Gets the current uniqueness ratio value. Read more
Source§

fn get_smaller_block_size(&self) -> Result<i32>

Gets the current size of the smaller block used for texture check. Read more
Source§

fn get_roi1(&self) -> Result<Rect>

Gets the current Region of Interest (ROI) for the left image. Read more
Source§

fn get_roi2(&self) -> Result<Rect>

Gets the current Region of Interest (ROI) for the right image. Read more
Source§

impl StereoMatcherTrait for StereoBM

Source§

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

Computes disparity map for the specified stereo pair Read more
Source§

fn set_min_disparity(&mut self, min_disparity: i32) -> Result<()>

Source§

fn set_num_disparities(&mut self, num_disparities: i32) -> Result<()>

Source§

fn set_block_size(&mut self, block_size: i32) -> Result<()>

Source§

fn set_speckle_window_size(&mut self, speckle_window_size: i32) -> Result<()>

Source§

fn set_speckle_range(&mut self, speckle_range: i32) -> Result<()>

Source§

fn set_disp12_max_diff(&mut self, disp12_max_diff: i32) -> Result<()>

Source§

impl StereoMatcherTraitConst for StereoBM

Source§

impl TryFrom<StereoMatcher> for StereoBM

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(s: StereoMatcher) -> Result<Self>

Performs the conversion.
Source§

impl Send for StereoBM

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<Mat> ModifyInplace for Mat
where Mat: Boxed,

Source§

unsafe fn modify_inplace<Res>( &mut self, f: impl FnOnce(&Mat, &mut Mat) -> Res, ) -> Res

Helper function to call OpenCV functions that allow in-place modification of a 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
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.