View Source Evision.StereoBM (Evision v0.2.17-rc2)
Summary
Functions
Clears the algorithm state
Computes disparity map for the specified stereo pair
Computes disparity map for the specified stereo pair
Creates StereoBM object
Creates StereoBM object
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
getBlockSize
getDefaultName
getDisp12MaxDiff
getMinDisparity
getNumDisparities
Gets the current truncation value for prefiltered pixels.
Gets the current size of the pre-filter kernel.
Gets the type of pre-filtering currently used in the algorithm.
Gets the current Region of Interest (ROI) for the left image.
Gets the current Region of Interest (ROI) for the right image.
Gets the current size of the smaller block used for texture check.
getSpeckleRange
getSpeckleWindowSize
Gets the current texture threshold value.
Gets the current uniqueness ratio value.
Reads algorithm parameters from a file storage
save
setBlockSize
setDisp12MaxDiff
setMinDisparity
setNumDisparities
Sets the truncation value for prefiltered pixels.
Sets the size of the pre-filter kernel.
Sets the type of pre-filtering used in the algorithm.
Sets the Region of Interest (ROI) for the left image.
Sets the Region of Interest (ROI) for the right image.
Sets the size of the smaller block used for texture check.
setSpeckleRange
setSpeckleWindowSize
Sets the threshold for filtering low-texture regions.
Sets the uniqueness ratio for filtering ambiguous matches.
Stores algorithm parameters in a file storage
write
Enumerator
Types
Functions
@spec clear(Keyword.t()) :: any() | {:error, String.t()}
@spec clear(t()) :: t() | {:error, String.t()}
Clears the algorithm state
Positional Arguments
- self:
Evision.StereoBM.t()
Python prototype (for reference only):
clear() -> None
@spec compute(t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in()) :: Evision.Mat.t() | {:error, String.t()}
Computes disparity map for the specified stereo pair
Positional Arguments
self:
Evision.StereoBM.t()left:
Evision.Mat.Left 8-bit single-channel image.
right:
Evision.Mat.Right image of the same size and the same type as the left one.
Return
disparity:
Evision.Mat.t().Output disparity map. It has the same size as the input images. Some algorithms, like StereoBM or StereoSGBM compute 16-bit fixed-point disparity map (where each disparity value has 4 fractional bits), whereas other algorithms output 32-bit floating-point disparity map.
Python prototype (for reference only):
compute(left, right[, disparity]) -> disparity
@spec compute( t(), Evision.Mat.maybe_mat_in(), Evision.Mat.maybe_mat_in(), [{atom(), term()}, ...] | nil ) :: Evision.Mat.t() | {:error, String.t()}
Computes disparity map for the specified stereo pair
Positional Arguments
self:
Evision.StereoBM.t()left:
Evision.Mat.Left 8-bit single-channel image.
right:
Evision.Mat.Right image of the same size and the same type as the left one.
Return
disparity:
Evision.Mat.t().Output disparity map. It has the same size as the input images. Some algorithms, like StereoBM or StereoSGBM compute 16-bit fixed-point disparity map (where each disparity value has 4 fractional bits), whereas other algorithms output 32-bit floating-point disparity map.
Python prototype (for reference only):
compute(left, right[, disparity]) -> disparity
Creates StereoBM object
Keyword Arguments
numDisparities:
integer().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:
integer().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.
Return
- retval:
Evision.StereoBM.t()
@return 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.
Python prototype (for reference only):
create([, numDisparities[, blockSize]]) -> retval
@spec create(Keyword.t()) :: any() | {:error, String.t()}
@spec create([blockSize: term(), numDisparities: term()] | nil) :: t() | {:error, String.t()}
Creates StereoBM object
Keyword Arguments
numDisparities:
integer().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:
integer().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.
Return
- retval:
Evision.StereoBM.t()
@return 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.
Python prototype (for reference only):
create([, numDisparities[, blockSize]]) -> retval
@spec empty(Keyword.t()) :: any() | {:error, String.t()}
@spec empty(t()) :: boolean() | {:error, String.t()}
Returns true if the Algorithm is empty (e.g. in the very beginning or after unsuccessful read
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
bool
Python prototype (for reference only):
empty() -> retval
@spec getBlockSize(Keyword.t()) :: any() | {:error, String.t()}
@spec getBlockSize(t()) :: integer() | {:error, String.t()}
getBlockSize
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
Python prototype (for reference only):
getBlockSize() -> retval
@spec getDefaultName(Keyword.t()) :: any() | {:error, String.t()}
@spec getDefaultName(t()) :: binary() | {:error, String.t()}
getDefaultName
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
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.
Python prototype (for reference only):
getDefaultName() -> retval
@spec getDisp12MaxDiff(Keyword.t()) :: any() | {:error, String.t()}
@spec getDisp12MaxDiff(t()) :: integer() | {:error, String.t()}
getDisp12MaxDiff
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
Python prototype (for reference only):
getDisp12MaxDiff() -> retval
@spec getMinDisparity(Keyword.t()) :: any() | {:error, String.t()}
@spec getMinDisparity(t()) :: integer() | {:error, String.t()}
getMinDisparity
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
Python prototype (for reference only):
getMinDisparity() -> retval
@spec getNumDisparities(Keyword.t()) :: any() | {:error, String.t()}
@spec getNumDisparities(t()) :: integer() | {:error, String.t()}
getNumDisparities
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
Python prototype (for reference only):
getNumDisparities() -> retval
@spec getPreFilterCap(Keyword.t()) :: any() | {:error, String.t()}
@spec getPreFilterCap(t()) :: integer() | {:error, String.t()}
Gets the current truncation value for prefiltered pixels.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
@return The current pre-filter cap value.
Python prototype (for reference only):
getPreFilterCap() -> retval
@spec getPreFilterSize(Keyword.t()) :: any() | {:error, String.t()}
@spec getPreFilterSize(t()) :: integer() | {:error, String.t()}
Gets the current size of the pre-filter kernel.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
@return The current pre-filter size.
Python prototype (for reference only):
getPreFilterSize() -> retval
@spec getPreFilterType(Keyword.t()) :: any() | {:error, String.t()}
@spec getPreFilterType(t()) :: integer() | {:error, String.t()}
Gets the type of pre-filtering currently used in the algorithm.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
@return The current pre-filter type: 0 for PREFILTER_NORMALIZED_RESPONSE or 1 for PREFILTER_XSOBEL.
Python prototype (for reference only):
getPreFilterType() -> retval
@spec getROI1(Keyword.t()) :: any() | {:error, String.t()}
@spec getROI1(t()) :: {number(), number(), number(), number()} | {:error, String.t()}
Gets the current Region of Interest (ROI) for the left image.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
Rect
@return The current ROI for the left image.
Python prototype (for reference only):
getROI1() -> retval
@spec getROI2(Keyword.t()) :: any() | {:error, String.t()}
@spec getROI2(t()) :: {number(), number(), number(), number()} | {:error, String.t()}
Gets the current Region of Interest (ROI) for the right image.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
Rect
@return The current ROI for the right image.
Python prototype (for reference only):
getROI2() -> retval
@spec getSmallerBlockSize(Keyword.t()) :: any() | {:error, String.t()}
@spec getSmallerBlockSize(t()) :: integer() | {:error, String.t()}
Gets the current size of the smaller block used for texture check.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
@return The current smaller block size.
Python prototype (for reference only):
getSmallerBlockSize() -> retval
@spec getSpeckleRange(Keyword.t()) :: any() | {:error, String.t()}
@spec getSpeckleRange(t()) :: integer() | {:error, String.t()}
getSpeckleRange
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
Python prototype (for reference only):
getSpeckleRange() -> retval
@spec getSpeckleWindowSize(Keyword.t()) :: any() | {:error, String.t()}
@spec getSpeckleWindowSize(t()) :: integer() | {:error, String.t()}
getSpeckleWindowSize
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
Python prototype (for reference only):
getSpeckleWindowSize() -> retval
@spec getTextureThreshold(Keyword.t()) :: any() | {:error, String.t()}
@spec getTextureThreshold(t()) :: integer() | {:error, String.t()}
Gets the current texture threshold value.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
@return The current texture threshold.
Python prototype (for reference only):
getTextureThreshold() -> retval
@spec getUniquenessRatio(Keyword.t()) :: any() | {:error, String.t()}
@spec getUniquenessRatio(t()) :: integer() | {:error, String.t()}
Gets the current uniqueness ratio value.
Positional Arguments
- self:
Evision.StereoBM.t()
Return
- retval:
integer()
@return The current uniqueness ratio.
Python prototype (for reference only):
getUniquenessRatio() -> retval
@spec read(t(), Evision.FileNode.t()) :: t() | {:error, String.t()}
Reads algorithm parameters from a file storage
Positional Arguments
- self:
Evision.StereoBM.t() - func:
Evision.FileNode
Python prototype (for reference only):
read(fn) -> None
save
Positional Arguments
- self:
Evision.StereoBM.t() - filename:
String
Saves the algorithm to a file. In order to make this method work, the derived class must implement Algorithm::write(FileStorage& fs).
Python prototype (for reference only):
save(filename) -> None
setBlockSize
Positional Arguments
- self:
Evision.StereoBM.t() - blockSize:
integer()
Python prototype (for reference only):
setBlockSize(blockSize) -> None
setDisp12MaxDiff
Positional Arguments
- self:
Evision.StereoBM.t() - disp12MaxDiff:
integer()
Python prototype (for reference only):
setDisp12MaxDiff(disp12MaxDiff) -> None
setMinDisparity
Positional Arguments
- self:
Evision.StereoBM.t() - minDisparity:
integer()
Python prototype (for reference only):
setMinDisparity(minDisparity) -> None
setNumDisparities
Positional Arguments
- self:
Evision.StereoBM.t() - numDisparities:
integer()
Python prototype (for reference only):
setNumDisparities(numDisparities) -> None
Sets the truncation value for prefiltered pixels.
Positional Arguments
self:
Evision.StereoBM.t()preFilterCap:
integer().The truncation value. Typically in the range [1, 63].
@details This value caps the output of the pre-filter to [-preFilterCap, preFilterCap], helping to reduce the impact of noise and outliers in the pre-filtered image.
Python prototype (for reference only):
setPreFilterCap(preFilterCap) -> None
Sets the size of the pre-filter kernel.
Positional Arguments
self:
Evision.StereoBM.t()preFilterSize:
integer().The size of the pre-filter kernel. Must be an odd integer, typically between 5 and 255.
@details The pre-filter size determines the spatial extent of the pre-filtering operation, which prepares the images for disparity computation by normalizing brightness and enhancing texture. Larger sizes reduce noise but may blur details, while smaller sizes preserve details but are more susceptible to noise.
Python prototype (for reference only):
setPreFilterSize(preFilterSize) -> None
Sets the type of pre-filtering used in the algorithm.
Positional Arguments
- self:
Evision.StereoBM.t() - preFilterType:
integer().The type of pre-filter to use. Possible values are:- PREFILTER_NORMALIZED_RESPONSE (0): Uses normalized response for pre-filtering.
- PREFILTER_XSOBEL (1): Uses the X-Sobel operator for pre-filtering.
@details The pre-filter type affects how the images are prepared before computing the disparity map. Different pre-filtering methods can enhance specific image features or reduce noise, influencing the quality of the disparity map.
Python prototype (for reference only):
setPreFilterType(preFilterType) -> None
Sets the Region of Interest (ROI) for the left image.
Positional Arguments
self:
Evision.StereoBM.t()roi1:
Rect.The ROI rectangle for the left image.
@details By setting the ROI, the stereo matching computation is limited to the specified region, improving performance and potentially accuracy by focusing on relevant parts of the image.
Python prototype (for reference only):
setROI1(roi1) -> None
Sets the Region of Interest (ROI) for the right image.
Positional Arguments
self:
Evision.StereoBM.t()roi2:
Rect.The ROI rectangle for the right image.
@details Similar to setROI1, this limits the computation to the specified region in the right image.
Python prototype (for reference only):
setROI2(roi2) -> None
Sets the size of the smaller block used for texture check.
Positional Arguments
self:
Evision.StereoBM.t()blockSize:
integer().The size of the smaller block. Must be an odd integer between 5 and 255.
@details This parameter determines the size of the block used to compute texture variance. Smaller blocks capture finer details but are more sensitive to noise, while larger blocks are more robust but may miss fine details.
Python prototype (for reference only):
setSmallerBlockSize(blockSize) -> None
setSpeckleRange
Positional Arguments
- self:
Evision.StereoBM.t() - speckleRange:
integer()
Python prototype (for reference only):
setSpeckleRange(speckleRange) -> None
setSpeckleWindowSize
Positional Arguments
- self:
Evision.StereoBM.t() - speckleWindowSize:
integer()
Python prototype (for reference only):
setSpeckleWindowSize(speckleWindowSize) -> None
Sets the threshold for filtering low-texture regions.
Positional Arguments
self:
Evision.StereoBM.t()textureThreshold:
integer().The threshold value. Must be non-negative.
@details This parameter filters out regions with low texture, where establishing correspondences is difficult, thus reducing noise in the disparity map. Higher values filter more aggressively but may discard valid information.
Python prototype (for reference only):
setTextureThreshold(textureThreshold) -> None
Sets the uniqueness ratio for filtering ambiguous matches.
Positional Arguments
self:
Evision.StereoBM.t()uniquenessRatio:
integer().The uniqueness ratio value. Typically in the range [5, 15], but can be from 0 to 100.
@details This parameter ensures that the best match is sufficiently better than the next best match, reducing false positives. Higher values are stricter but may filter out valid matches in difficult regions.
Python prototype (for reference only):
setUniquenessRatio(uniquenessRatio) -> None
@spec write(t(), Evision.FileStorage.t()) :: t() | {:error, String.t()}
Stores algorithm parameters in a file storage
Positional Arguments
- self:
Evision.StereoBM.t() - fs:
Evision.FileStorage
Python prototype (for reference only):
write(fs) -> None
@spec write(t(), Evision.FileStorage.t(), binary()) :: t() | {:error, String.t()}
write
Positional Arguments
- self:
Evision.StereoBM.t() - fs:
Evision.FileStorage - name:
String
Has overloading in C++
Python prototype (for reference only):
write(fs, name) -> None