boofcv.alg.transform.pyramid
Class PyramidFloatGaussianScale<T extends ImageGray>
- java.lang.Object
-
- boofcv.struct.pyramid.ImagePyramidBase<T>
-
- boofcv.struct.pyramid.PyramidFloat<T>
-
- boofcv.alg.transform.pyramid.PyramidFloatGaussianScale<T>
-
- All Implemented Interfaces:
- ImagePyramid<T>
public class PyramidFloatGaussianScale<T extends ImageGray> extends PyramidFloat<T>
PyramidFloatin which each layer is constructed by 1) applying Gaussian blur to the previous layer, and then 2) re-sampling the blurred previous layer. The scaling factor between each level are floating point number. UnlikePyramidDiscreteSampleBlurthe scale factors can be arbitrary and are not limited to certain integer values. The specified sigmas are the sigmas which are applied to each layer.NOTE: This can be considered the theoretically correct way to construct an image pyramid with no sacrifices to improve speed.
-
-
Field Summary
-
Fields inherited from class boofcv.struct.pyramid.PyramidFloat
scale
-
Fields inherited from class boofcv.struct.pyramid.ImagePyramidBase
layers
-
-
Constructor Summary
Constructors Constructor and Description PyramidFloatGaussianScale(InterpolatePixelS<T> interpolate, double[] scales, double[] sigmaLayers, java.lang.Class<T> imageType)Configures the pyramid
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description InterpolatePixelS<T>getInterpolate()doublegetSampleOffset(int layer)Returns the sampling offset.doublegetSigma(int layer)Returns the scale-space scale for the specified layer.float[]getSigmaLayers()voidprocess(T input)Constructs the image pyramid given the input image.voidsetInterpolate(InterpolatePixelS<T> interpolate)-
Methods inherited from class boofcv.struct.pyramid.PyramidFloat
getNumLayers, getScale, setScaleFactors
-
Methods inherited from class boofcv.struct.pyramid.ImagePyramidBase
getHeight, getImageType, getInputHeight, getInputWidth, getLayer, getWidth, initialize, isSaveOriginalReference, setFirstLayer, setTo
-
-
-
-
Constructor Detail
-
PyramidFloatGaussianScale
public PyramidFloatGaussianScale(InterpolatePixelS<T> interpolate, double[] scales, double[] sigmaLayers, java.lang.Class<T> imageType)
Configures the pyramid- Parameters:
interpolate- Interpolation function used to sub-sample.scales- Scales of each layer in the pyramid relative to the input imagesigmaLayers- Amount of blur applied to the previous layer while constructing the pyramid.imageType- Type of image it's processing
-
-
Method Detail
-
process
public void process(T input)
Description copied from interface:ImagePyramidConstructs the image pyramid given the input image.
-
getInterpolate
public InterpolatePixelS<T> getInterpolate()
-
setInterpolate
public void setInterpolate(InterpolatePixelS<T> interpolate)
-
getSampleOffset
public double getSampleOffset(int layer)
Description copied from interface:ImagePyramidReturns the sampling offset. Both x and y axises are assumed to have the same offset. See comment in constructor above.- Parameters:
layer- Layer in the pyramid- Returns:
- Sampling offset in pixels.
-
getSigma
public double getSigma(int layer)
Description copied from interface:ImagePyramidReturns 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.
-
getSigmaLayers
public float[] getSigmaLayers()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG