Class FDistort
- java.lang.Object
-
- boofcv.abst.distort.FDistort
-
public class FDistort extends java.lang.ObjectHigh level interface for rendering a distorted image into another one. Uses a flow style interface to remove much of the drugery.
If you are changing the input images and avoiding declaring new memory then you need to be careful how this class is used. For example, call
setRefs(ImageBase, ImageBase)instead ofinit(ImageBase, ImageBase). Init() will discard the previous settings while with setRefs() it's possible to update only what has changed. Make sure you follow the instructions in setRefs() and browsing the code in this class might help you understand what's going on.
-
-
Constructor Summary
Constructors Constructor and Description FDistort()FDistort(ImageBase input, ImageBase output)Constructor in which input and output images are specified.FDistort(ImageType inputType)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description FDistortaffine(Affine2D_F64 affine)FDistortaffine(double a11, double a12, double a21, double a22, double dx, double dy)Affine transform from input to outputvoidapply()Applies the distortion.FDistortborder(BorderType type)Sets the border by type.FDistortborder(double value)Sets the border to a fixed gray-scale valueFDistortborder(ImageBorder border)Sets how the interpolation handles borders.FDistortborderExt()Sets the border to EXTEND.FDistortcached(boolean cached)used to turn on and off caching of the distortionFDistortinit(ImageBase input, ImageBase output)Specifies the input and output image and sets interpolation to BILINEAR, black image border, cache is off.FDistortinput(ImageBase input)Changes the input image.FDistortinterp(InterpolatePixelS interpolation)used to provide a custom interpolation algorithmFDistortinterp(TypeInterpolate type)Specifies the interpolation used by type.FDistortinterpNN()Sets interpolation to use nearest-neighborFDistortoutput(ImageBase output)Changes the output image.FDistortrotate(double angleInputToOutput)Applies a distortion which will rotate the input image by the specified amount.FDistortscale()Applies a distortion which will rescale the input image into the output image.FDistortscaleExt()Scales the image and sets the border toBorderType.EXTENDED.FDistortsetRefs(ImageBase input, ImageBase output)All this does is set the references to the images.FDistorttransform(PixelTransform_F32 outputToInput)Used to manually specify a transform.FDistorttransform(PointTransform_F32 outputToInput)Used to manually specify a transform.
-
-
-
Constructor Detail
-
FDistort
public FDistort(ImageBase input, ImageBase output)
Constructor in which input and output images are specified. Equivalent to callinginit(ImageBase, ImageBase)- Parameters:
input- Input imageoutput- output image
-
FDistort
public FDistort(ImageType inputType)
Constructor- Parameters:
inputType- Type of input image
-
FDistort
public FDistort()
-
-
Method Detail
-
init
public FDistort init(ImageBase input, ImageBase output)
Specifies the input and output image and sets interpolation to BILINEAR, black image border, cache is off.
-
setRefs
public FDistort setRefs(ImageBase input, ImageBase output)
All this does is set the references to the images. Nothing else is changed and its up to the user to correctly update everything else. If called the first time you need to do the following1) specify the interpolation method 2) specify the transform 3) specify the border
If called again and the image shape has changed you need to do the following:1) Update the transform
-
input
public FDistort input(ImageBase input)
Changes the input image. The previous distortion is thrown away only if the input image has a different shape
-
output
public FDistort output(ImageBase output)
Changes the output image. The previous distortion is thrown away only if the output image has a different shape
-
border
public FDistort border(ImageBorder border)
Sets how the interpolation handles borders.
-
border
public FDistort border(BorderType type)
Sets the border by type.
-
border
public FDistort border(double value)
Sets the border to a fixed gray-scale value
-
borderExt
public FDistort borderExt()
Sets the border to EXTEND.
-
interp
public FDistort interp(InterpolatePixelS interpolation)
used to provide a custom interpolation algorithmNOTE: This will force the distorter to be declared again, even if nothing has changed. This only matters if you are being very careful about your memory management.
-
interp
public FDistort interp(TypeInterpolate type)
Specifies the interpolation used by type.
-
interpNN
public FDistort interpNN()
Sets interpolation to use nearest-neighbor
-
cached
public FDistort cached(boolean cached)
used to turn on and off caching of the distortion
-
transform
public FDistort transform(PixelTransform_F32 outputToInput)
Used to manually specify a transform. From output to input
-
transform
public FDistort transform(PointTransform_F32 outputToInput)
Used to manually specify a transform. From output to input
-
affine
public FDistort affine(double a11, double a12, double a21, double a22, double dx, double dy)
Affine transform from input to output
-
affine
public FDistort affine(Affine2D_F64 affine)
-
scale
public FDistort scale()
Applies a distortion which will rescale the input image into the output image. You might want to consider using
NOTE: Checks to see if it can recycle the previous transform and update it with a new affine model to avoid declaring new memory.scaleExt()instead since it sets the border behavior to extended, which is probably what you want to do.
-
scaleExt
public FDistort scaleExt()
Scales the image and sets the border toBorderType.EXTENDED. This is normally what you want to do when scaling an image. If you don't use an extended border when you hit the right and bottom boundaries it will go outside the image bounds and if a fixed value of 0 is used it will average towards zero.
-
rotate
public FDistort rotate(double angleInputToOutput)
Applies a distortion which will rotate the input image by the specified amount.
-
apply
public void apply()
Applies the distortion.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG