Class PyramidDiscreteSampleBlur<T extends ImageBase<T>>

java.lang.Object
boofcv.struct.pyramid.ImagePyramidBase<T>
boofcv.struct.pyramid.PyramidDiscrete<T>
boofcv.alg.transform.pyramid.PyramidDiscreteSampleBlur<T>
All Implemented Interfaces:
ImagePyramid<T>

public class PyramidDiscreteSampleBlur<T extends ImageBase<T>>
extends PyramidDiscrete<T>

Convolves a re-normalizable blur kernel across the image before down sampling. This is useful for creating a Gaussian pyramid as well as other standard pyramids.

NOTE: This pyramid cannot be configured such that blur will be applied to the input image. It can be done by the user before the image is passed in.

NOTE: This blur magnitude is constant for each level in the pyramid. In general it is desirable to have it dependent on each level's scale factor.

  • Constructor Details

    • PyramidDiscreteSampleBlur

      public PyramidDiscreteSampleBlur​(Kernel1D kernel, double sigma, ImageType<T> imageType, boolean saveOriginalReference, @Nullable @Nullable ConfigDiscreteLevels configLayers)
      Parameters:
      kernel - A blur kernel
      sigma - The effective amount of Gaussian blur the kernel applies
      imageType - Type of image processed
      saveOriginalReference - If a reference to the full resolution image should be saved instead of copied. Set to false if you don't know what you are doing.
      configLayers - Specifies how the levels are computed
    • PyramidDiscreteSampleBlur

      protected PyramidDiscreteSampleBlur​(PyramidDiscreteSampleBlur<T> orig)
  • Method Details

    • process

      public void process​(T input)
      Description copied from interface: ImagePyramid
      Constructs the image pyramid given the input image.
    • getSampleOffset

      public double getSampleOffset​(int layer)
      There is no offset since a symmetric kernel is applied starting at pixel (0,0)
      Parameters:
      layer - Layer in the pyramid
      Returns:
      offset
    • getSigma

      public double getSigma​(int layer)
      Description copied from interface: ImagePyramid
      Returns the scale-space scale for the specified layer. This scale is equivalent amount of Gaussian blur applied to the input image. If Gaussian blur is not applied to each layer then an approximation should be returned.
      Parameters:
      layer - Layer in the pyramid
      Returns:
      Equivalent sigma for Gaussian blur.
    • copyStructure

      public ImagePyramid<T> copyStructure()
      Description copied from interface: ImagePyramid
      Creates a copy of the pyramids structure but not the pixel data