Class ImageMiscOps

java.lang.Object
boofcv.alg.misc.ImageMiscOps

@Generated("boofcv.alg.misc.GenerateImageMiscOps")
public class ImageMiscOps
extends Object
Basic image operations which have no place better to go.

DO NOT MODIFY. Automatically generated code created by GenerateImageMiscOps

  • Field Summary

    Fields
    Modifier and Type Field Description
    static int MIN_ELEMENTS_CONCURRENT
    If the image has fewer than this elements do not run the concurrent version of the function since it could run slower
  • Constructor Summary

    Constructors
    Constructor Description
    ImageMiscOps()  
  • Method Summary

    Modifier and Type Method Description
    static void addGaussian​(GrayF32 image, Random rand, double sigma, float lowerBound, float upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(GrayF64 image, Random rand, double sigma, double lowerBound, double upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(GrayS16 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(GrayS32 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(GrayS64 image, Random rand, double sigma, long lowerBound, long upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(GrayS8 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(GrayU16 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(GrayU8 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedF32 image, Random rand, double sigma, float lowerBound, float upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedF64 image, Random rand, double sigma, double lowerBound, double upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedS16 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedS32 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedS64 image, Random rand, double sigma, long lowerBound, long upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedS8 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedU16 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addGaussian​(InterleavedU8 image, Random rand, double sigma, int lowerBound, int upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void addUniform​(GrayF32 input, Random rand, float min, float max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(GrayF64 input, Random rand, double min, double max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(GrayS16 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(GrayS32 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(GrayS64 input, Random rand, long min, long max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(GrayS8 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(GrayU16 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(GrayU8 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedF32 input, Random rand, float min, float max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedF64 input, Random rand, double min, double max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedS16 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedS32 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedS64 input, Random rand, long min, long max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedS8 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedU16 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void addUniform​(InterleavedU8 input, Random rand, int min, int max)
    Adds uniform i.i.d noise to each pixel in the image.
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF32 input, ImageBorder_F32 border, GrayF32 output)
    Copies a rectangular region from one image into another.
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF32 input, GrayF32 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF64 input, ImageBorder_F64 border, GrayF64 output)
    Copies a rectangular region from one image into another.
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF64 input, GrayF64 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayI16 input, GrayI16 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayI8 input, GrayI8 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS32 input, ImageBorder_S32 border, GrayS32 output)
    Copies a rectangular region from one image into another.
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS32 input, GrayS32 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS64 input, ImageBorder_S64 border, GrayS64 output)
    Copies a rectangular region from one image into another.
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS64 input, GrayS64 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedF32 input, InterleavedF32 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedF64 input, InterleavedF64 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedI16 input, InterleavedI16 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedI8 input, InterleavedI8 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedS32 input, InterleavedS32 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedS64 input, InterleavedS64 output)
    Copies a rectangular region from one image into another.
    output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
    static <T extends GrayI16<T>>
    void
    copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, T input, ImageBorder_S32<T> border, GrayI16 output)
    Copies a rectangular region from one image into another.
    static <T extends GrayI8<T>>
    void
    copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, T input, ImageBorder_S32<T> border, GrayI8 output)
    Copies a rectangular region from one image into another.
    static void extractBand​(InterleavedF32 input, int band, GrayF32 output)
    Extracts a single band from a multi-band image
    static void extractBand​(InterleavedF64 input, int band, GrayF64 output)
    Extracts a single band from a multi-band image
    static void extractBand​(InterleavedI16 input, int band, GrayI16 output)
    Extracts a single band from a multi-band image
    static void extractBand​(InterleavedI8 input, int band, GrayI8 output)
    Extracts a single band from a multi-band image
    static void extractBand​(InterleavedS32 input, int band, GrayS32 output)
    Extracts a single band from a multi-band image
    static void extractBand​(InterleavedS64 input, int band, GrayS64 output)
    Extracts a single band from a multi-band image
    static void fill​(GrayF32 image, float value)
    Fills the whole image with the specified value
    static void fill​(GrayF64 image, double value)
    Fills the whole image with the specified value
    static void fill​(GrayI16 image, int value)
    Fills the whole image with the specified value
    static void fill​(GrayI8 image, int value)
    Fills the whole image with the specified value
    static void fill​(GrayS32 image, int value)
    Fills the whole image with the specified value
    static void fill​(GrayS64 image, long value)
    Fills the whole image with the specified value
    static void fill​(InterleavedF32 image, float value)
    Fills the whole image with the specified value
    static void fill​(InterleavedF32 image, float[] values)
    Fills each band in the image with the specified values
    static void fill​(InterleavedF64 image, double value)
    Fills the whole image with the specified value
    static void fill​(InterleavedF64 image, double[] values)
    Fills each band in the image with the specified values
    static void fill​(InterleavedI16 image, int value)
    Fills the whole image with the specified value
    static void fill​(InterleavedI16 image, int[] values)
    Fills each band in the image with the specified values
    static void fill​(InterleavedI8 image, int value)
    Fills the whole image with the specified value
    static void fill​(InterleavedI8 image, int[] values)
    Fills each band in the image with the specified values
    static void fill​(InterleavedS32 image, int value)
    Fills the whole image with the specified value
    static void fill​(InterleavedS32 image, int[] values)
    Fills each band in the image with the specified values
    static void fill​(InterleavedS64 image, long value)
    Fills the whole image with the specified value
    static void fill​(InterleavedS64 image, long[] values)
    Fills each band in the image with the specified values
    static void fillBand​(InterleavedF32 image, int band, float value)
    Fills one band in the image with the specified value
    static void fillBand​(InterleavedF64 image, int band, double value)
    Fills one band in the image with the specified value
    static void fillBand​(InterleavedI16 image, int band, int value)
    Fills one band in the image with the specified value
    static void fillBand​(InterleavedI8 image, int band, int value)
    Fills one band in the image with the specified value
    static void fillBand​(InterleavedS32 image, int band, int value)
    Fills one band in the image with the specified value
    static void fillBand​(InterleavedS64 image, int band, long value)
    Fills one band in the image with the specified value
    static void fillBorder​(GrayF32 image, float value, int radius)
    Fills the outside border with the specified value
    static void fillBorder​(GrayF32 image, float value, int borderX0, int borderY0, int borderX1, int borderY1)
    Fills the border with independent border widths for each side
    static void fillBorder​(GrayF64 image, double value, int radius)
    Fills the outside border with the specified value
    static void fillBorder​(GrayF64 image, double value, int borderX0, int borderY0, int borderX1, int borderY1)
    Fills the border with independent border widths for each side
    static void fillBorder​(GrayI16 image, int value, int radius)
    Fills the outside border with the specified value
    static void fillBorder​(GrayI16 image, int value, int borderX0, int borderY0, int borderX1, int borderY1)
    Fills the border with independent border widths for each side
    static void fillBorder​(GrayI8 image, int value, int radius)
    Fills the outside border with the specified value
    static void fillBorder​(GrayI8 image, int value, int borderX0, int borderY0, int borderX1, int borderY1)
    Fills the border with independent border widths for each side
    static void fillBorder​(GrayS32 image, int value, int radius)
    Fills the outside border with the specified value
    static void fillBorder​(GrayS32 image, int value, int borderX0, int borderY0, int borderX1, int borderY1)
    Fills the border with independent border widths for each side
    static void fillBorder​(GrayS64 image, long value, int radius)
    Fills the outside border with the specified value
    static void fillBorder​(GrayS64 image, long value, int borderX0, int borderY0, int borderX1, int borderY1)
    Fills the border with independent border widths for each side
    static void fillGaussian​(GrayF32 input, Random rand, double mean, double sigma, float lowerBound, float upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(GrayF64 input, Random rand, double mean, double sigma, double lowerBound, double upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(GrayI16 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(GrayI8 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(GrayS32 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(GrayS64 input, Random rand, double mean, double sigma, long lowerBound, long upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(InterleavedF32 input, Random rand, double mean, double sigma, float lowerBound, float upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(InterleavedF64 input, Random rand, double mean, double sigma, double lowerBound, double upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(InterleavedI16 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(InterleavedI8 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(InterleavedS32 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillGaussian​(InterleavedS64 input, Random rand, double mean, double sigma, long lowerBound, long upperBound)
    Sets each value in the image to a value drawn from a Gaussian distribution.
    static void fillRectangle​(GrayF32 image, float value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(GrayF64 image, double value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(GrayI16 image, int value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(GrayI8 image, int value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(GrayS32 image, int value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(GrayS64 image, long value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(InterleavedF32 image, float value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(InterleavedF64 image, double value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(InterleavedI16 image, int value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(InterleavedI8 image, int value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(InterleavedS32 image, int value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillRectangle​(InterleavedS64 image, long value, int x0, int y0, int width, int height)
    Draws a filled rectangle that is aligned along the image axis inside the image.
    static void fillUniform​(GrayF32 img, Random rand, float min, float max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(GrayF64 img, Random rand, double min, double max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(GrayI16 img, Random rand, int min, int max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(GrayI8 img, Random rand, int min, int max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(GrayS32 img, Random rand, int min, int max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(GrayS64 img, Random rand, long min, long max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(InterleavedF32 img, Random rand, float min, float max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(InterleavedF64 img, Random rand, double min, double max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(InterleavedI16 img, Random rand, int min, int max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(InterleavedI8 img, Random rand, int min, int max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(InterleavedS32 img, Random rand, int min, int max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void fillUniform​(InterleavedS64 img, Random rand, long min, long max)
    Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
    static void findAndProcess​(GrayF32 input, BoofLambdas.Match_F32 finder, BoofLambdas.ProcessIIB process)
    Using the provided functions, finds all pixel values which match then calls the process function
    static void findAndProcess​(GrayF64 input, BoofLambdas.Match_F64 finder, BoofLambdas.ProcessIIB process)
    Using the provided functions, finds all pixel values which match then calls the process function
    static void findAndProcess​(GrayI16 input, BoofLambdas.Match_I16 finder, BoofLambdas.ProcessIIB process)
    Using the provided functions, finds all pixel values which match then calls the process function
    static void findAndProcess​(GrayI8 input, BoofLambdas.Match_I8 finder, BoofLambdas.ProcessIIB process)
    Using the provided functions, finds all pixel values which match then calls the process function
    static void findAndProcess​(GrayS32 input, BoofLambdas.Match_S32 finder, BoofLambdas.ProcessIIB process)
    Using the provided functions, finds all pixel values which match then calls the process function
    static void findAndProcess​(GrayS64 input, BoofLambdas.Match_S64 finder, BoofLambdas.ProcessIIB process)
    Using the provided functions, finds all pixel values which match then calls the process function
    static void flipHorizontal​(GrayF32 image)
    Flips the image from left to right
    static void flipHorizontal​(GrayF64 image)
    Flips the image from left to right
    static void flipHorizontal​(GrayI16 image)
    Flips the image from left to right
    static void flipHorizontal​(GrayI8 image)
    Flips the image from left to right
    static void flipHorizontal​(GrayS32 image)
    Flips the image from left to right
    static void flipHorizontal​(GrayS64 image)
    Flips the image from left to right
    static void flipVertical​(GrayF32 image)
    Flips the image from top to bottom
    static void flipVertical​(GrayF64 image)
    Flips the image from top to bottom
    static void flipVertical​(GrayI16 image)
    Flips the image from top to bottom
    static void flipVertical​(GrayI8 image)
    Flips the image from top to bottom
    static void flipVertical​(GrayS32 image)
    Flips the image from top to bottom
    static void flipVertical​(GrayS64 image)
    Flips the image from top to bottom
    static void growBorder​(GrayF32 src, ImageBorder_F32 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayF32 dst)
    Creates a new image which is a copy of the src image but extended with border pixels.
    static void growBorder​(GrayF64 src, ImageBorder_F64 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayF64 dst)
    Creates a new image which is a copy of the src image but extended with border pixels.
    static void growBorder​(GrayS32 src, ImageBorder_S32 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayS32 dst)
    Creates a new image which is a copy of the src image but extended with border pixels.
    static void growBorder​(GrayS64 src, ImageBorder_S64 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayS64 dst)
    Creates a new image which is a copy of the src image but extended with border pixels.
    static <T extends GrayI8<T>>
    void
    growBorder​(T src, ImageBorder_S32<T> border, int borderX0, int borderY0, int borderX1, int borderY1, T dst)
    Creates a new image which is a copy of the src image but extended with border pixels.
    static void insertBand​(GrayF32 input, int band, InterleavedF32 output)
    Inserts a single band into a multi-band image overwriting the original band
    static void insertBand​(GrayF64 input, int band, InterleavedF64 output)
    Inserts a single band into a multi-band image overwriting the original band
    static void insertBand​(GrayI16 input, int band, InterleavedI16 output)
    Inserts a single band into a multi-band image overwriting the original band
    static void insertBand​(GrayI8 input, int band, InterleavedI8 output)
    Inserts a single band into a multi-band image overwriting the original band
    static void insertBand​(GrayS32 input, int band, InterleavedS32 output)
    Inserts a single band into a multi-band image overwriting the original band
    static void insertBand​(GrayS64 input, int band, InterleavedS64 output)
    Inserts a single band into a multi-band image overwriting the original band
    static void rotateCCW​(GrayF32 image)
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void rotateCCW​(GrayF64 image)
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void rotateCCW​(GrayI16 image)
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void rotateCCW​(GrayI8 image)
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void rotateCCW​(GrayS32 image)
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void rotateCCW​(GrayS64 image)
    In-place 90 degree image rotation in the counter-clockwise direction.
    static <T extends GrayI8<T>>
    T
    rotateCCW​(T input, T output)
    Rotates the image 90 degrees in the counter-clockwise direction.
    static void rotateCW​(GrayF32 image)
    In-place 90 degree image rotation in the clockwise direction.
    static void rotateCW​(GrayF64 image)
    In-place 90 degree image rotation in the clockwise direction.
    static void rotateCW​(GrayI16 image)
    In-place 90 degree image rotation in the clockwise direction.
    static void rotateCW​(GrayI8 image)
    In-place 90 degree image rotation in the clockwise direction.
    static void rotateCW​(GrayS32 image)
    In-place 90 degree image rotation in the clockwise direction.
    static void rotateCW​(GrayS64 image)
    In-place 90 degree image rotation in the clockwise direction.
    static <T extends GrayI8<T>>
    T
    rotateCW​(T input, T output)
    Rotates the image 90 degrees in the clockwise direction.
    static boolean runConcurrent​(int numElements)  
    static boolean runConcurrent​(ImageBase image)  
    static <T extends GrayI8<T>>
    T
    transpose​(T input, T output)
    Transposes the image

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • MIN_ELEMENTS_CONCURRENT

      public static int MIN_ELEMENTS_CONCURRENT
      If the image has fewer than this elements do not run the concurrent version of the function since it could run slower
  • Constructor Details

    • ImageMiscOps

      public ImageMiscOps()
  • Method Details

    • runConcurrent

      public static boolean runConcurrent​(ImageBase image)
    • runConcurrent

      public static boolean runConcurrent​(int numElements)
    • copy

      public static <T extends GrayI8<T>> void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, T input, ImageBorder_S32<T> border, GrayI8 output)
      Copies a rectangular region from one image into another. The region can go outside the input image's border.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      border - Border for input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayI8 input, GrayI8 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedI8 input, InterleavedI8 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • fill

      public static void fill​(GrayI8 image, int value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedI8 image, int value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedI8 image, int[] values)
      Fills each band in the image with the specified values
      Parameters:
      image - An image. Modified.
      values - Array which contains the values each band is to be filled with.
    • fillBand

      public static void fillBand​(InterleavedI8 image, int band, int value)
      Fills one band in the image with the specified value
      Parameters:
      image - An image. Modified.
      band - Which band is to be filled with the specified value
      value - The value that the image is being filled with.
    • insertBand

      public static void insertBand​(GrayI8 input, int band, InterleavedI8 output)
      Inserts a single band into a multi-band image overwriting the original band
      Parameters:
      input - Single band image
      band - Which band the image is to be inserted into
      output - The multi-band image which the input image is to be inserted into
    • extractBand

      public static void extractBand​(InterleavedI8 input, int band, GrayI8 output)
      Extracts a single band from a multi-band image
      Parameters:
      input - Multi-band image.
      band - which bad is to be extracted
      output - The single band image. Modified.
    • fillBorder

      public static void fillBorder​(GrayI8 image, int value, int radius)
      Fills the outside border with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
      radius - Border width.
    • fillBorder

      public static void fillBorder​(GrayI8 image, int value, int borderX0, int borderY0, int borderX1, int borderY1)
      Fills the border with independent border widths for each side
      Parameters:
      image - An image.
      value - The value that the image is being filled with.
      borderX0 - Width of border on left
      borderY0 - Width of border on top
      borderX1 - Width of border on right
      borderY1 - Width of border on bottom
    • fillRectangle

      public static void fillRectangle​(GrayI8 image, int value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillRectangle

      public static void fillRectangle​(InterleavedI8 image, int value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image. All bands are filled with the same value.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillUniform

      public static void fillUniform​(GrayI8 img, Random rand, int min, int max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillUniform

      public static void fillUniform​(InterleavedI8 img, Random rand, int min, int max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillGaussian

      public static void fillGaussian​(GrayI8 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • fillGaussian

      public static void fillGaussian​(InterleavedI8 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • flipVertical

      public static void flipVertical​(GrayI8 image)
      Flips the image from top to bottom
    • flipHorizontal

      public static void flipHorizontal​(GrayI8 image)
      Flips the image from left to right
    • transpose

      public static <T extends GrayI8<T>> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static void rotateCW​(GrayI8 image)
      In-place 90 degree image rotation in the clockwise direction. Only works on square images.
    • transpose

      public static <T extends InterleavedI8<T>> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static <T extends GrayI8<T>> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCW

      public static <T extends InterleavedI8<T>> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCCW

      public static void rotateCCW​(GrayI8 image)
      In-place 90 degree image rotation in the counter-clockwise direction. Only works on square images.
    • rotateCCW

      public static <T extends GrayI8<T>> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • rotateCCW

      public static <T extends InterleavedI8<T>> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • growBorder

      public static <T extends GrayI8<T>> void growBorder​(T src, ImageBorder_S32<T> border, int borderX0, int borderY0, int borderX1, int borderY1, T dst)
      Creates a new image which is a copy of the src image but extended with border pixels.
      Parameters:
      src - (Input) source image
      border - (Input) image border generator
      borderX0 - (Input) Border x-axis lower extent
      borderY0 - (Input) Border y-axis lower extent
      borderX1 - (Input) Border x-axis upper extent
      borderY1 - (Input) Border y-axis upper extent
      dst - (Output) Output image. width=src.width+2*radiusX and height=src.height+2*radiusY
    • findAndProcess

      public static void findAndProcess​(GrayI8 input, BoofLambdas.Match_I8 finder, BoofLambdas.ProcessIIB process)
      Using the provided functions, finds all pixel values which match then calls the process function
      Parameters:
      input - (Input) Image
      finder - (Input) Checks to see if the pixel value matches the criteria
      process - (Input) When a match is found this function is called and given the coordinates. true = continue
    • copy

      public static <T extends GrayI16<T>> void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, T input, ImageBorder_S32<T> border, GrayI16 output)
      Copies a rectangular region from one image into another. The region can go outside the input image's border.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      border - Border for input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayI16 input, GrayI16 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedI16 input, InterleavedI16 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • fill

      public static void fill​(GrayI16 image, int value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedI16 image, int value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedI16 image, int[] values)
      Fills each band in the image with the specified values
      Parameters:
      image - An image. Modified.
      values - Array which contains the values each band is to be filled with.
    • fillBand

      public static void fillBand​(InterleavedI16 image, int band, int value)
      Fills one band in the image with the specified value
      Parameters:
      image - An image. Modified.
      band - Which band is to be filled with the specified value
      value - The value that the image is being filled with.
    • insertBand

      public static void insertBand​(GrayI16 input, int band, InterleavedI16 output)
      Inserts a single band into a multi-band image overwriting the original band
      Parameters:
      input - Single band image
      band - Which band the image is to be inserted into
      output - The multi-band image which the input image is to be inserted into
    • extractBand

      public static void extractBand​(InterleavedI16 input, int band, GrayI16 output)
      Extracts a single band from a multi-band image
      Parameters:
      input - Multi-band image.
      band - which bad is to be extracted
      output - The single band image. Modified.
    • fillBorder

      public static void fillBorder​(GrayI16 image, int value, int radius)
      Fills the outside border with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
      radius - Border width.
    • fillBorder

      public static void fillBorder​(GrayI16 image, int value, int borderX0, int borderY0, int borderX1, int borderY1)
      Fills the border with independent border widths for each side
      Parameters:
      image - An image.
      value - The value that the image is being filled with.
      borderX0 - Width of border on left
      borderY0 - Width of border on top
      borderX1 - Width of border on right
      borderY1 - Width of border on bottom
    • fillRectangle

      public static void fillRectangle​(GrayI16 image, int value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillRectangle

      public static void fillRectangle​(InterleavedI16 image, int value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image. All bands are filled with the same value.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillUniform

      public static void fillUniform​(GrayI16 img, Random rand, int min, int max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillUniform

      public static void fillUniform​(InterleavedI16 img, Random rand, int min, int max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillGaussian

      public static void fillGaussian​(GrayI16 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • fillGaussian

      public static void fillGaussian​(InterleavedI16 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • flipVertical

      public static void flipVertical​(GrayI16 image)
      Flips the image from top to bottom
    • flipHorizontal

      public static void flipHorizontal​(GrayI16 image)
      Flips the image from left to right
    • transpose

      public static <T extends GrayI16<T>> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static void rotateCW​(GrayI16 image)
      In-place 90 degree image rotation in the clockwise direction. Only works on square images.
    • transpose

      public static <T extends InterleavedI16<T>> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static <T extends GrayI16<T>> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCW

      public static <T extends InterleavedI16<T>> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCCW

      public static void rotateCCW​(GrayI16 image)
      In-place 90 degree image rotation in the counter-clockwise direction. Only works on square images.
    • rotateCCW

      public static <T extends GrayI16<T>> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • rotateCCW

      public static <T extends InterleavedI16<T>> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • growBorder

      public static <T extends GrayI16<T>> void growBorder​(T src, ImageBorder_S32<T> border, int borderX0, int borderY0, int borderX1, int borderY1, T dst)
      Creates a new image which is a copy of the src image but extended with border pixels.
      Parameters:
      src - (Input) source image
      border - (Input) image border generator
      borderX0 - (Input) Border x-axis lower extent
      borderY0 - (Input) Border y-axis lower extent
      borderX1 - (Input) Border x-axis upper extent
      borderY1 - (Input) Border y-axis upper extent
      dst - (Output) Output image. width=src.width+2*radiusX and height=src.height+2*radiusY
    • findAndProcess

      public static void findAndProcess​(GrayI16 input, BoofLambdas.Match_I16 finder, BoofLambdas.ProcessIIB process)
      Using the provided functions, finds all pixel values which match then calls the process function
      Parameters:
      input - (Input) Image
      finder - (Input) Checks to see if the pixel value matches the criteria
      process - (Input) When a match is found this function is called and given the coordinates. true = continue
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS32 input, ImageBorder_S32 border, GrayS32 output)
      Copies a rectangular region from one image into another. The region can go outside the input image's border.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      border - Border for input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS32 input, GrayS32 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedS32 input, InterleavedS32 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • fill

      public static void fill​(GrayS32 image, int value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedS32 image, int value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedS32 image, int[] values)
      Fills each band in the image with the specified values
      Parameters:
      image - An image. Modified.
      values - Array which contains the values each band is to be filled with.
    • fillBand

      public static void fillBand​(InterleavedS32 image, int band, int value)
      Fills one band in the image with the specified value
      Parameters:
      image - An image. Modified.
      band - Which band is to be filled with the specified value
      value - The value that the image is being filled with.
    • insertBand

      public static void insertBand​(GrayS32 input, int band, InterleavedS32 output)
      Inserts a single band into a multi-band image overwriting the original band
      Parameters:
      input - Single band image
      band - Which band the image is to be inserted into
      output - The multi-band image which the input image is to be inserted into
    • extractBand

      public static void extractBand​(InterleavedS32 input, int band, GrayS32 output)
      Extracts a single band from a multi-band image
      Parameters:
      input - Multi-band image.
      band - which bad is to be extracted
      output - The single band image. Modified.
    • fillBorder

      public static void fillBorder​(GrayS32 image, int value, int radius)
      Fills the outside border with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
      radius - Border width.
    • fillBorder

      public static void fillBorder​(GrayS32 image, int value, int borderX0, int borderY0, int borderX1, int borderY1)
      Fills the border with independent border widths for each side
      Parameters:
      image - An image.
      value - The value that the image is being filled with.
      borderX0 - Width of border on left
      borderY0 - Width of border on top
      borderX1 - Width of border on right
      borderY1 - Width of border on bottom
    • fillRectangle

      public static void fillRectangle​(GrayS32 image, int value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillRectangle

      public static void fillRectangle​(InterleavedS32 image, int value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image. All bands are filled with the same value.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillUniform

      public static void fillUniform​(GrayS32 img, Random rand, int min, int max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillUniform

      public static void fillUniform​(InterleavedS32 img, Random rand, int min, int max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillGaussian

      public static void fillGaussian​(GrayS32 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • fillGaussian

      public static void fillGaussian​(InterleavedS32 input, Random rand, double mean, double sigma, int lowerBound, int upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • flipVertical

      public static void flipVertical​(GrayS32 image)
      Flips the image from top to bottom
    • flipHorizontal

      public static void flipHorizontal​(GrayS32 image)
      Flips the image from left to right
    • transpose

      public static <T extends GrayS32> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static void rotateCW​(GrayS32 image)
      In-place 90 degree image rotation in the clockwise direction. Only works on square images.
    • transpose

      public static <T extends InterleavedS32> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static <T extends GrayS32> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCW

      public static <T extends InterleavedS32> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCCW

      public static void rotateCCW​(GrayS32 image)
      In-place 90 degree image rotation in the counter-clockwise direction. Only works on square images.
    • rotateCCW

      public static <T extends GrayS32> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • rotateCCW

      public static <T extends InterleavedS32> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • growBorder

      public static void growBorder​(GrayS32 src, ImageBorder_S32 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayS32 dst)
      Creates a new image which is a copy of the src image but extended with border pixels.
      Parameters:
      src - (Input) source image
      border - (Input) image border generator
      borderX0 - (Input) Border x-axis lower extent
      borderY0 - (Input) Border y-axis lower extent
      borderX1 - (Input) Border x-axis upper extent
      borderY1 - (Input) Border y-axis upper extent
      dst - (Output) Output image. width=src.width+2*radiusX and height=src.height+2*radiusY
    • findAndProcess

      public static void findAndProcess​(GrayS32 input, BoofLambdas.Match_S32 finder, BoofLambdas.ProcessIIB process)
      Using the provided functions, finds all pixel values which match then calls the process function
      Parameters:
      input - (Input) Image
      finder - (Input) Checks to see if the pixel value matches the criteria
      process - (Input) When a match is found this function is called and given the coordinates. true = continue
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS64 input, ImageBorder_S64 border, GrayS64 output)
      Copies a rectangular region from one image into another. The region can go outside the input image's border.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      border - Border for input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayS64 input, GrayS64 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedS64 input, InterleavedS64 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • fill

      public static void fill​(GrayS64 image, long value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedS64 image, long value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedS64 image, long[] values)
      Fills each band in the image with the specified values
      Parameters:
      image - An image. Modified.
      values - Array which contains the values each band is to be filled with.
    • fillBand

      public static void fillBand​(InterleavedS64 image, int band, long value)
      Fills one band in the image with the specified value
      Parameters:
      image - An image. Modified.
      band - Which band is to be filled with the specified value
      value - The value that the image is being filled with.
    • insertBand

      public static void insertBand​(GrayS64 input, int band, InterleavedS64 output)
      Inserts a single band into a multi-band image overwriting the original band
      Parameters:
      input - Single band image
      band - Which band the image is to be inserted into
      output - The multi-band image which the input image is to be inserted into
    • extractBand

      public static void extractBand​(InterleavedS64 input, int band, GrayS64 output)
      Extracts a single band from a multi-band image
      Parameters:
      input - Multi-band image.
      band - which bad is to be extracted
      output - The single band image. Modified.
    • fillBorder

      public static void fillBorder​(GrayS64 image, long value, int radius)
      Fills the outside border with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
      radius - Border width.
    • fillBorder

      public static void fillBorder​(GrayS64 image, long value, int borderX0, int borderY0, int borderX1, int borderY1)
      Fills the border with independent border widths for each side
      Parameters:
      image - An image.
      value - The value that the image is being filled with.
      borderX0 - Width of border on left
      borderY0 - Width of border on top
      borderX1 - Width of border on right
      borderY1 - Width of border on bottom
    • fillRectangle

      public static void fillRectangle​(GrayS64 image, long value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillRectangle

      public static void fillRectangle​(InterleavedS64 image, long value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image. All bands are filled with the same value.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillUniform

      public static void fillUniform​(GrayS64 img, Random rand, long min, long max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillUniform

      public static void fillUniform​(InterleavedS64 img, Random rand, long min, long max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, exclusive
    • fillGaussian

      public static void fillGaussian​(GrayS64 input, Random rand, double mean, double sigma, long lowerBound, long upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • fillGaussian

      public static void fillGaussian​(InterleavedS64 input, Random rand, double mean, double sigma, long lowerBound, long upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • flipVertical

      public static void flipVertical​(GrayS64 image)
      Flips the image from top to bottom
    • flipHorizontal

      public static void flipHorizontal​(GrayS64 image)
      Flips the image from left to right
    • transpose

      public static <T extends GrayS64> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static void rotateCW​(GrayS64 image)
      In-place 90 degree image rotation in the clockwise direction. Only works on square images.
    • transpose

      public static <T extends InterleavedS64> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static <T extends GrayS64> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCW

      public static <T extends InterleavedS64> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCCW

      public static void rotateCCW​(GrayS64 image)
      In-place 90 degree image rotation in the counter-clockwise direction. Only works on square images.
    • rotateCCW

      public static <T extends GrayS64> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • rotateCCW

      public static <T extends InterleavedS64> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • growBorder

      public static void growBorder​(GrayS64 src, ImageBorder_S64 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayS64 dst)
      Creates a new image which is a copy of the src image but extended with border pixels.
      Parameters:
      src - (Input) source image
      border - (Input) image border generator
      borderX0 - (Input) Border x-axis lower extent
      borderY0 - (Input) Border y-axis lower extent
      borderX1 - (Input) Border x-axis upper extent
      borderY1 - (Input) Border y-axis upper extent
      dst - (Output) Output image. width=src.width+2*radiusX and height=src.height+2*radiusY
    • findAndProcess

      public static void findAndProcess​(GrayS64 input, BoofLambdas.Match_S64 finder, BoofLambdas.ProcessIIB process)
      Using the provided functions, finds all pixel values which match then calls the process function
      Parameters:
      input - (Input) Image
      finder - (Input) Checks to see if the pixel value matches the criteria
      process - (Input) When a match is found this function is called and given the coordinates. true = continue
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF32 input, ImageBorder_F32 border, GrayF32 output)
      Copies a rectangular region from one image into another. The region can go outside the input image's border.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      border - Border for input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF32 input, GrayF32 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedF32 input, InterleavedF32 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • fill

      public static void fill​(GrayF32 image, float value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedF32 image, float value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedF32 image, float[] values)
      Fills each band in the image with the specified values
      Parameters:
      image - An image. Modified.
      values - Array which contains the values each band is to be filled with.
    • fillBand

      public static void fillBand​(InterleavedF32 image, int band, float value)
      Fills one band in the image with the specified value
      Parameters:
      image - An image. Modified.
      band - Which band is to be filled with the specified value
      value - The value that the image is being filled with.
    • insertBand

      public static void insertBand​(GrayF32 input, int band, InterleavedF32 output)
      Inserts a single band into a multi-band image overwriting the original band
      Parameters:
      input - Single band image
      band - Which band the image is to be inserted into
      output - The multi-band image which the input image is to be inserted into
    • extractBand

      public static void extractBand​(InterleavedF32 input, int band, GrayF32 output)
      Extracts a single band from a multi-band image
      Parameters:
      input - Multi-band image.
      band - which bad is to be extracted
      output - The single band image. Modified.
    • fillBorder

      public static void fillBorder​(GrayF32 image, float value, int radius)
      Fills the outside border with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
      radius - Border width.
    • fillBorder

      public static void fillBorder​(GrayF32 image, float value, int borderX0, int borderY0, int borderX1, int borderY1)
      Fills the border with independent border widths for each side
      Parameters:
      image - An image.
      value - The value that the image is being filled with.
      borderX0 - Width of border on left
      borderY0 - Width of border on top
      borderX1 - Width of border on right
      borderY1 - Width of border on bottom
    • fillRectangle

      public static void fillRectangle​(GrayF32 image, float value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillRectangle

      public static void fillRectangle​(InterleavedF32 image, float value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image. All bands are filled with the same value.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillUniform

      public static void fillUniform​(GrayF32 img, Random rand, float min, float max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, inclusive
    • fillUniform

      public static void fillUniform​(InterleavedF32 img, Random rand, float min, float max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, inclusive
    • fillGaussian

      public static void fillGaussian​(GrayF32 input, Random rand, double mean, double sigma, float lowerBound, float upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • fillGaussian

      public static void fillGaussian​(InterleavedF32 input, Random rand, double mean, double sigma, float lowerBound, float upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • flipVertical

      public static void flipVertical​(GrayF32 image)
      Flips the image from top to bottom
    • flipHorizontal

      public static void flipHorizontal​(GrayF32 image)
      Flips the image from left to right
    • transpose

      public static <T extends GrayF32> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static void rotateCW​(GrayF32 image)
      In-place 90 degree image rotation in the clockwise direction. Only works on square images.
    • transpose

      public static <T extends InterleavedF32> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static <T extends GrayF32> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCW

      public static <T extends InterleavedF32> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCCW

      public static void rotateCCW​(GrayF32 image)
      In-place 90 degree image rotation in the counter-clockwise direction. Only works on square images.
    • rotateCCW

      public static <T extends GrayF32> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • rotateCCW

      public static <T extends InterleavedF32> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • growBorder

      public static void growBorder​(GrayF32 src, ImageBorder_F32 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayF32 dst)
      Creates a new image which is a copy of the src image but extended with border pixels.
      Parameters:
      src - (Input) source image
      border - (Input) image border generator
      borderX0 - (Input) Border x-axis lower extent
      borderY0 - (Input) Border y-axis lower extent
      borderX1 - (Input) Border x-axis upper extent
      borderY1 - (Input) Border y-axis upper extent
      dst - (Output) Output image. width=src.width+2*radiusX and height=src.height+2*radiusY
    • findAndProcess

      public static void findAndProcess​(GrayF32 input, BoofLambdas.Match_F32 finder, BoofLambdas.ProcessIIB process)
      Using the provided functions, finds all pixel values which match then calls the process function
      Parameters:
      input - (Input) Image
      finder - (Input) Checks to see if the pixel value matches the criteria
      process - (Input) When a match is found this function is called and given the coordinates. true = continue
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF64 input, ImageBorder_F64 border, GrayF64 output)
      Copies a rectangular region from one image into another. The region can go outside the input image's border.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      border - Border for input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, GrayF64 input, GrayF64 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • copy

      public static void copy​(int srcX, int srcY, int dstX, int dstY, int width, int height, InterleavedF64 input, InterleavedF64 output)
      Copies a rectangular region from one image into another.
      output[dstX:(dstX+width) , dstY:(dstY+height-1)] = input[srcX:(srcX+width) , srcY:(srcY+height-1)]
      Parameters:
      srcX - x-coordinate of corner in input image
      srcY - y-coordinate of corner in input image
      dstX - x-coordinate of corner in output image
      dstY - y-coordinate of corner in output image
      width - Width of region to be copied
      height - Height of region to be copied
      input - Input image
      output - output image
    • fill

      public static void fill​(GrayF64 image, double value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedF64 image, double value)
      Fills the whole image with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
    • fill

      public static void fill​(InterleavedF64 image, double[] values)
      Fills each band in the image with the specified values
      Parameters:
      image - An image. Modified.
      values - Array which contains the values each band is to be filled with.
    • fillBand

      public static void fillBand​(InterleavedF64 image, int band, double value)
      Fills one band in the image with the specified value
      Parameters:
      image - An image. Modified.
      band - Which band is to be filled with the specified value
      value - The value that the image is being filled with.
    • insertBand

      public static void insertBand​(GrayF64 input, int band, InterleavedF64 output)
      Inserts a single band into a multi-band image overwriting the original band
      Parameters:
      input - Single band image
      band - Which band the image is to be inserted into
      output - The multi-band image which the input image is to be inserted into
    • extractBand

      public static void extractBand​(InterleavedF64 input, int band, GrayF64 output)
      Extracts a single band from a multi-band image
      Parameters:
      input - Multi-band image.
      band - which bad is to be extracted
      output - The single band image. Modified.
    • fillBorder

      public static void fillBorder​(GrayF64 image, double value, int radius)
      Fills the outside border with the specified value
      Parameters:
      image - An image. Modified.
      value - The value that the image is being filled with.
      radius - Border width.
    • fillBorder

      public static void fillBorder​(GrayF64 image, double value, int borderX0, int borderY0, int borderX1, int borderY1)
      Fills the border with independent border widths for each side
      Parameters:
      image - An image.
      value - The value that the image is being filled with.
      borderX0 - Width of border on left
      borderY0 - Width of border on top
      borderX1 - Width of border on right
      borderY1 - Width of border on bottom
    • fillRectangle

      public static void fillRectangle​(GrayF64 image, double value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillRectangle

      public static void fillRectangle​(InterleavedF64 image, double value, int x0, int y0, int width, int height)
      Draws a filled rectangle that is aligned along the image axis inside the image. All bands are filled with the same value.
      Parameters:
      image - The image the rectangle is drawn in. Modified
      value - Value of the rectangle
      x0 - Top left x-coordinate
      y0 - Top left y-coordinate
      width - Rectangle width
      height - Rectangle height
    • fillUniform

      public static void fillUniform​(GrayF64 img, Random rand, double min, double max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, inclusive
    • fillUniform

      public static void fillUniform​(InterleavedF64 img, Random rand, double min, double max)
      Sets each value in the image to a value drawn from an uniform distribution that has a range of min ≤ X < max.
      Parameters:
      img - Image which is to be filled. Modified.
      rand - Random number generator
      min - Minimum value of the distribution, inclusive
      max - Maximum value of the distribution, inclusive
    • fillGaussian

      public static void fillGaussian​(GrayF64 input, Random rand, double mean, double sigma, double lowerBound, double upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • fillGaussian

      public static void fillGaussian​(InterleavedF64 input, Random rand, double mean, double sigma, double lowerBound, double upperBound)
      Sets each value in the image to a value drawn from a Gaussian distribution. A user specified lower and upper bound is provided to ensure that the values are within a legal range. A drawn value outside the allowed range will be set to the closest bound.
      Parameters:
      input - Input image. Modified.
      rand - Random number generator
      mean - Distribution's mean.
      sigma - Distribution's standard deviation.
      lowerBound - Lower bound of value clip
      upperBound - Upper bound of value clip
    • flipVertical

      public static void flipVertical​(GrayF64 image)
      Flips the image from top to bottom
    • flipHorizontal

      public static void flipHorizontal​(GrayF64 image)
      Flips the image from left to right
    • transpose

      public static <T extends GrayF64> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static void rotateCW​(GrayF64 image)
      In-place 90 degree image rotation in the clockwise direction. Only works on square images.
    • transpose

      public static <T extends InterleavedF64> T transpose​(T input, @Nullable T output)
      Transposes the image
    • rotateCW

      public static <T extends GrayF64> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCW

      public static <T extends InterleavedF64> T rotateCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCCW

      public static void rotateCCW​(GrayF64 image)
      In-place 90 degree image rotation in the counter-clockwise direction. Only works on square images.
    • rotateCCW

      public static <T extends GrayF64> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • rotateCCW

      public static <T extends InterleavedF64> T rotateCCW​(T input, @Nullable T output)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • growBorder

      public static void growBorder​(GrayF64 src, ImageBorder_F64 border, int borderX0, int borderY0, int borderX1, int borderY1, GrayF64 dst)
      Creates a new image which is a copy of the src image but extended with border pixels.
      Parameters:
      src - (Input) source image
      border - (Input) image border generator
      borderX0 - (Input) Border x-axis lower extent
      borderY0 - (Input) Border y-axis lower extent
      borderX1 - (Input) Border x-axis upper extent
      borderY1 - (Input) Border y-axis upper extent
      dst - (Output) Output image. width=src.width+2*radiusX and height=src.height+2*radiusY
    • findAndProcess

      public static void findAndProcess​(GrayF64 input, BoofLambdas.Match_F64 finder, BoofLambdas.ProcessIIB process)
      Using the provided functions, finds all pixel values which match then calls the process function
      Parameters:
      input - (Input) Image
      finder - (Input) Checks to see if the pixel value matches the criteria
      process - (Input) When a match is found this function is called and given the coordinates. true = continue
    • addUniform

      public static void addUniform​(GrayU8 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedU8 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayU8 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedU8 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform​(GrayS8 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedS8 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayS8 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedS8 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform​(GrayU16 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedU16 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayU16 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedU16 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform​(GrayS16 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedS16 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayS16 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedS16 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform​(GrayS32 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedS32 input, Random rand, int min, int max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayS32 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedS32 image, Random rand, double sigma, int lowerBound, int upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform​(GrayS64 input, Random rand, long min, long max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedS64 input, Random rand, long min, long max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayS64 image, Random rand, double sigma, long lowerBound, long upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedS64 image, Random rand, double sigma, long lowerBound, long upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform​(GrayF32 input, Random rand, float min, float max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedF32 input, Random rand, float min, float max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayF32 image, Random rand, double sigma, float lowerBound, float upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedF32 image, Random rand, double sigma, float lowerBound, float upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform​(GrayF64 input, Random rand, double min, double max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addUniform

      public static void addUniform​(InterleavedF64 input, Random rand, double min, double max)
      Adds uniform i.i.d noise to each pixel in the image. Noise range is min ≤ X < max.
    • addGaussian

      public static void addGaussian​(GrayF64 image, Random rand, double sigma, double lowerBound, double upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addGaussian

      public static void addGaussian​(InterleavedF64 image, Random rand, double sigma, double lowerBound, double upperBound)
      Adds Gaussian/normal i.i.d noise to each pixel in the image. If a value exceeds the specified it will be set to the closest bound.
      Parameters:
      image - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound