Point Cloud Library (PCL) 1.15.0
Loading...
Searching...
No Matches
pcl::BlockBasedStereoMatching Class Reference

Block based (or fixed window) Stereo Matching class. More...

#include <pcl/stereo/stereo_matching.h>

Inheritance diagram for pcl::BlockBasedStereoMatching:
Collaboration diagram for pcl::BlockBasedStereoMatching:

Public Member Functions

 BlockBasedStereoMatching ()
 ~BlockBasedStereoMatching () override=default
void setRadius (int radius)
 setter for the radius of the squared window
Public Member Functions inherited from pcl::GrayStereoMatching
 GrayStereoMatching ()
 ~GrayStereoMatching () override
void compute (unsigned char *ref_img, unsigned char *trg_img, int width, int height) override
 stereo processing, it computes a disparity map stored internally by the class
void compute (pcl::PointCloud< pcl::RGB > &ref, pcl::PointCloud< pcl::RGB > &trg) override
 stereo processing, it computes a disparity map stored internally by the class
Public Member Functions inherited from pcl::StereoMatching
 StereoMatching ()
virtual ~StereoMatching ()
void setMaxDisparity (int max_disp)
 setter for number of disparity candidates (disparity range)
void setXOffset (int x_off)
 setter for horizontal offset, i.e.
void setRatioFilter (int ratio_filter)
 setter for the value of the ratio filter
void setPeakFilter (int peak_filter)
 setter for the value of the peak filter
void setPreProcessing (bool is_pre_proc)
 setter for the pre processing step
void setLeftRightCheck (bool is_lr_check)
 setter for the left-right consistency check stage, that eliminates inconsistent/wrong disparity values from the disparity map at approx.
void setLeftRightCheckThreshold (int lr_check_th)
 setter for the left-right consistency check threshold
void medianFilter (int radius)
 median filter applied on the previously computed disparity map
virtual bool getPointCloud (float u_c, float v_c, float focal, float baseline, pcl::PointCloud< pcl::PointXYZ >::Ptr cloud)
 computation of the 3D point cloud from the previously computed disparity map without color information
virtual bool getPointCloud (float u_c, float v_c, float focal, float baseline, pcl::PointCloud< pcl::PointXYZRGB >::Ptr cloud, pcl::PointCloud< pcl::RGB >::Ptr texture)
 computation of the 3D point cloud from the previously computed disparity map including color information
void getVisualMap (pcl::PointCloud< pcl::RGB >::Ptr vMap)
 computation of a pcl::RGB cloud with scaled disparity values it can be used to display a rescaled version of the disparity map by means of the pcl::ImageViewer invalid disparity values are shown in green

Additional Inherited Members

Protected Member Functions inherited from pcl::GrayStereoMatching
void preProcessing (unsigned char *img, unsigned char *pp_img) override
void imgFlip (unsigned char *&img) override
Protected Member Functions inherited from pcl::StereoMatching
void leftRightCheck ()
short int computeStereoSubpixel (int dbest, int s1, int s2, int s3)
short int computeStereoSubpixel (int dbest, float s1, float s2, float s3)
Protected Attributes inherited from pcl::StereoMatching
short int * disp_map_
 The internal disparity map.
unsigned char * ref_img_
 Local aligned copies of the cloud data.
unsigned char * trg_img_
short int * disp_map_trg_
 Disparity map used for left-right check.
unsigned char * pp_ref_img_
 Local aligned copies used for pre processing.
unsigned char * pp_trg_img_
int width_
 number of pixels per column of the input stereo pair .
int height_
 number of pixels per row of the input stereo pair .
int max_disp_
 Disparity range used for stereo processing.
int x_off_
 Horizontal displacemente (x offset) used for stereo processing.
int ratio_filter_
 Threshold for the ratio filter, $\in [0 100]$.
int peak_filter_
 Threshold for the peak filter, $\in [0 \infty]$.
bool is_pre_proc_
 toggle for the activation of the pre-processing stage
bool is_lr_check_
 toggle for the activation of the left-right consistency check stage
int lr_check_th_
 Threshold for the left-right consistency check, typically either 0 or 1.

Detailed Description

Block based (or fixed window) Stereo Matching class.

This class implements the baseline Block-based - aka Fixed Window - stereo matching algorithm. The algorithm includes a running box filter so that the computational complexity is independent of the size of the window ( O(1) wrt. to the size of window) The algorithm is based on the Sum of Absolute Differences (SAD) matching function Only works with grayscale (single channel) rectified images

Author
Federico Tombari (feder.nosp@m.ico..nosp@m.tomba.nosp@m.ri@u.nosp@m.nibo..nosp@m.it)

Definition at line 428 of file stereo_matching.h.

Constructor & Destructor Documentation

◆ BlockBasedStereoMatching()

pcl::BlockBasedStereoMatching::BlockBasedStereoMatching ( )

◆ ~BlockBasedStereoMatching()

pcl::BlockBasedStereoMatching::~BlockBasedStereoMatching ( )
overridedefault

Member Function Documentation

◆ setRadius()

void pcl::BlockBasedStereoMatching::setRadius ( int radius)
inline

setter for the radius of the squared window

Parameters
[in]radiusradius of the squared window used to compute the block-based stereo algorithm the window side is equal to 2*radius + 1

Definition at line 438 of file stereo_matching.h.


The documentation for this class was generated from the following file: