Documentation of 'boofcv.alg.feature.disparity.DisparityScoreSadRect' Java class
DisparityScoreSadRect
boofcv.alg.feature.disparity

Class DisparityScoreSadRect<Input extends ImageGray,Disparity extends ImageGray>

  • Direct Known Subclasses:
    ImplDisparityScoreSadRect_F32, ImplDisparityScoreSadRect_S16, ImplDisparityScoreSadRect_U8


    public abstract class DisparityScoreSadRect<Input extends ImageGray,Disparity extends ImageGray>
    extends DisparityScoreRowFormat<Input,Disparity>

    Computes the disparity SAD score efficiently for a single rectangular region while minimizing CPU cache misses. After the score has been computed for an entire row it is passed onto another algorithm to compute the actual disparity. Provides support for fast right to left validation. First the sad score is computed horizontally then summed up vertically while minimizing redundant calculations that naive implementation would have.

    Memory usage is minimized by only saving disparity scores for the row being considered. The more straight forward implementation is to compute the disparity score for the whole image at once, which can be quite expensive.

    Score Format: The index of the score for column i ≥ radiusX + minDisparity at disparity d is:
    index = imgWidth*(d-minDisparity-radiusX) + i - minDisparity-radiusX
    Format Comment:
    This ordering is a bit unnatural when searching for the best disparity, but reduces cache misses when writing. Performance boost is about 20%-30% depending on max disparity and image size.

    This implementation is not based off of any individual paper but ideas commonly expressed in several different sources. A good study and summary of similar algorithms can be found in:
    [1] Wannes van der Mark and Dariu M. Gavrila, "Real-Time Dense Stereo for Intelligent Vehicles" IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS, VOL. 7, NO. 1, MARCH 2006

    • Constructor Detail

      • DisparityScoreSadRect

        public DisparityScoreSadRect(int minDisparity,
                                     int maxDisparity,
                                     int regionRadiusX,
                                     int regionRadiusY)

DataMelt 3.0 © DataMelt by jWork.ORG

Ads help maintain this website.