pcl::AdaptiveCostSOStereoMatching Class Reference

Adaptive Cost 2-pass Scanline Optimization Stereo Matching class. More...

`#include <pcl/stereo/stereo_matching.h>`

Inheritance diagram for pcl::AdaptiveCostSOStereoMatching:

## Public Member Functions

| AdaptiveCostSOStereoMatching ()
| ~AdaptiveCostSOStereoMatching ()
void | setRadius (int radius)
| setter for the radius (half length) of the column used for cost aggregation More...
void | setGammaS (int gamma_s)
| setter for the spatial bandwidth used for cost aggregation based on adaptive weights More...
void | setGammaC (int gamma_c)
| setter for the color bandwidth used for cost aggregation based on adaptive weights More...
void | setSmoothWeak (int smoothness_weak)
| "weak" smoothness penalty used within 2-pass Scanline Optimization More...
void | setSmoothStrong (int smoothness_strong)
| "strong" smoothness penalty used within 2-pass Scanline Optimization More...
Public Member Functions inherited from pcl::GrayStereoMatching
| GrayStereoMatching ()
| ~GrayStereoMatching ()
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 More...
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 More...
Public Member Functions inherited from pcl::StereoMatching
| StereoMatching ()
virtual | ~StereoMatching ()
void | setMaxDisparity (int max_disp)
| setter for number of disparity candidates (disparity range) More...
void | setXOffset (int x_off)
| setter for horizontal offset, i.e. More...
void | setRatioFilter (int ratio_filter)
| setter for the value of the ratio filter More...
void | setPeakFilter (int peak_filter)
| setter for the value of the peak filter More...
void | setPreProcessing (bool is_pre_proc)
| setter for the pre processing step More...
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. More...
void | setLeftRightCheckThreshold (int lr_check_th)
| setter for the left-right consistency check threshold More...
void | medianFilter (int radius)
| median filter applied on the previously computed disparity map More...
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 More...
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 More...
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 More...

## 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. More...
unsigned char * | ref_img_
| Local aligned copies of the cloud data. More...
unsigned char * | trg_img_
short int * | disp_map_trg_
| Disparity map used for left-right check. More...
unsigned char * | pp_ref_img_
| Local aligned copies used for pre processing. More...
unsigned char * | pp_trg_img_
int | width_
| number of pixels per column of the input stereo pair . More...
int | height_
| number of pixels per row of the input stereo pair . More...
int | max_disp_
| Disparity range used for stereo processing. More...
int | x_off_
| Horizontal displacemente (x offset) used for stereo processing. More...
int | ratio_filter_
| Threshold for the ratio filter, . More...
int | peak_filter_
| Threshold for the peak filter, . More...
bool | is_pre_proc_
| toggle for the activation of the pre-processing stage More...
bool | is_lr_check_
| toggle for the activation of the left-right consistency check stage More...
int | lr_check_th_
| Threshold for the left-right consistency check, typically either 0 or 1. More...

## Detailed Description

Adaptive Cost 2-pass Scanline Optimization Stereo Matching class.

This class implements an adaptive-cost stereo matching algorithm based on 2-pass Scanline Optimization. The algorithm is inspired by the paper: [1] L. Wang et al., "High Quality Real-time Stereo using Adaptive Cost Aggregation and Dynamic Programming", 3DPVT 2006 Cost aggregation is performed using adaptive weigths computed on a single column as proposed in [1]. Instead of using Dynamic Programming as in [1], the optimization is performed via 2-pass Scanline Optimization. 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 464 of file stereo_matching.h.

## Constructor & Destructor Documentation

## AdaptiveCostSOStereoMatching()

pcl::AdaptiveCostSOStereoMatching::AdaptiveCostSOStereoMatching | ( |  | ) |

## ~AdaptiveCostSOStereoMatching()

pcl::AdaptiveCostSOStereoMatching::~AdaptiveCostSOStereoMatching | ( |  | ) |

inline

Definition at line 468 of file stereo_matching.h.

## Member Function Documentation

## setGammaC()

void pcl::AdaptiveCostSOStereoMatching::setGammaC | ( | int | gamma_c | ) |

inline

setter for the color bandwidth used for cost aggregation based on adaptive weights

Parameters

  [in] | gamma_c | color bandwidth used for cost aggregation based on adaptive weights

Definition at line 497 of file stereo_matching.h.

## setGammaS()

void pcl::AdaptiveCostSOStereoMatching::setGammaS | ( | int | gamma_s | ) |

inline

setter for the spatial bandwidth used for cost aggregation based on adaptive weights

Parameters

  [in] | gamma_s | spatial bandwidth used for cost aggregation based on adaptive weights

Definition at line 486 of file stereo_matching.h.

## setRadius()

void pcl::AdaptiveCostSOStereoMatching::setRadius | ( | int | radius | ) |

inline

setter for the radius (half length) of the column used for cost aggregation

Parameters

  [in] | radius | radius (half length) of the column used for cost aggregation; the total column length is equal to 2*radius + 1

Definition at line 475 of file stereo_matching.h.

## setSmoothStrong()

void pcl::AdaptiveCostSOStereoMatching::setSmoothStrong | ( | int | smoothness_strong | ) |

inline

"strong" smoothness penalty used within 2-pass Scanline Optimization

Parameters

  [in] | smoothness_strong | "strong" smoothness penalty cost

Definition at line 515 of file stereo_matching.h.

## setSmoothWeak()

void pcl::AdaptiveCostSOStereoMatching::setSmoothWeak | ( | int | smoothness_weak | ) |

inline

"weak" smoothness penalty used within 2-pass Scanline Optimization

Parameters

  [in] | smoothness_weak | "weak" smoothness penalty cost

Definition at line 506 of file stereo_matching.h.

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

- pcl/stereo/stereo_matching.h