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
    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
     
  • 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
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Functional API for modifying an images pixel values based on coordinate and value
    static void
    Using the provided functions, finds all pixel values which match then calls the process function
    static void
    Using the provided functions, finds all pixel values which match then calls the process function
    static void
    Using the provided functions, finds all pixel values which match then calls the process function
    static void
    Using the provided functions, finds all pixel values which match then calls the process function
    static void
    Using the provided functions, finds all pixel values which match then calls the process function
    static void
    Using the provided functions, finds all pixel values which match then calls the process function
    static void
    Flips the image from left to right
    static void
    Flips the image from left to right
    static void
    Flips the image from left to right
    static void
    Flips the image from left to right
    static void
    Flips the image from left to right
    static void
    Flips the image from left to right
    static void
    Flips the image from top to bottom
    static void
    Flips the image from top to bottom
    static void
    Flips the image from top to bottom
    static void
    Flips the image from top to bottom
    static void
    Flips the image from top to bottom
    static void
    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
    maskFill(GrayF32 image, GrayU8 mask, int maskTarget, float value)
    Fills pixels in the image that match the mask target value image with the specified fill value
    static void
    maskFill(GrayF64 image, GrayU8 mask, int maskTarget, double value)
    Fills pixels in the image that match the mask target value image with the specified fill value
    static void
    maskFill(GrayI16 image, GrayU8 mask, int maskTarget, int value)
    Fills pixels in the image that match the mask target value image with the specified fill value
    static void
    maskFill(GrayI8 image, GrayU8 mask, int maskTarget, int value)
    Fills pixels in the image that match the mask target value image with the specified fill value
    static void
    maskFill(GrayS32 image, GrayU8 mask, int maskTarget, int value)
    Fills pixels in the image that match the mask target value image with the specified fill value
    static void
    maskFill(GrayS64 image, GrayU8 mask, int maskTarget, long value)
    Fills pixels in the image that match the mask target value image with the specified fill value
    static void
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void
    In-place 90 degree image rotation in the counter-clockwise direction.
    static void
    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
    In-place 90 degree image rotation in the clockwise direction.
    static void
    In-place 90 degree image rotation in the clockwise direction.
    static void
    In-place 90 degree image rotation in the clockwise direction.
    static void
    In-place 90 degree image rotation in the clockwise direction.
    static void
    In-place 90 degree image rotation in the clockwise direction.
    static void
    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
     
    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.
    • maskFill

      public static void maskFill(GrayI8 image, GrayU8 mask, int maskTarget, int value)
      Fills pixels in the image that match the mask target value image with the specified fill value
      Parameters:
      image - An image. Modified.
      mask - Mask that indicates which pixels to fill. Not modified.
      maskTarget - Pixels in the mask which match this value will be filled.
      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.
    • maskFill

      public static void maskFill(GrayI16 image, GrayU8 mask, int maskTarget, int value)
      Fills pixels in the image that match the mask target value image with the specified fill value
      Parameters:
      image - An image. Modified.
      mask - Mask that indicates which pixels to fill. Not modified.
      maskTarget - Pixels in the mask which match this value will be filled.
      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.
    • maskFill

      public static void maskFill(GrayS32 image, GrayU8 mask, int maskTarget, int value)
      Fills pixels in the image that match the mask target value image with the specified fill value
      Parameters:
      image - An image. Modified.
      mask - Mask that indicates which pixels to fill. Not modified.
      maskTarget - Pixels in the mask which match this value will be filled.
      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.
    • maskFill

      public static void maskFill(GrayS64 image, GrayU8 mask, int maskTarget, long value)
      Fills pixels in the image that match the mask target value image with the specified fill value
      Parameters:
      image - An image. Modified.
      mask - Mask that indicates which pixels to fill. Not modified.
      maskTarget - Pixels in the mask which match this value will be filled.
      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.
    • maskFill

      public static void maskFill(GrayF32 image, GrayU8 mask, int maskTarget, float value)
      Fills pixels in the image that match the mask target value image with the specified fill value
      Parameters:
      image - An image. Modified.
      mask - Mask that indicates which pixels to fill. Not modified.
      maskTarget - Pixels in the mask which match this value will be filled.
      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.
    • maskFill

      public static void maskFill(GrayF64 image, GrayU8 mask, int maskTarget, double value)
      Fills pixels in the image that match the mask target value image with the specified fill value
      Parameters:
      image - An image. Modified.
      mask - Mask that indicates which pixels to fill. Not modified.
      maskTarget - Pixels in the mask which match this value will be filled.
      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
    • filter

      public static void filter(GrayU8 image, BoofLambdas.FilterPixel_S32 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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
    • filter

      public static void filter(GrayS8 image, BoofLambdas.FilterPixel_S32 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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
    • filter

      public static void filter(GrayU16 image, BoofLambdas.FilterPixel_S32 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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
    • filter

      public static void filter(GrayS16 image, BoofLambdas.FilterPixel_S32 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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
    • filter

      public static void filter(GrayS32 image, BoofLambdas.FilterPixel_S32 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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
    • filter

      public static void filter(GrayS64 image, BoofLambdas.FilterPixel_S64 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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
    • filter

      public static void filter(GrayF32 image, BoofLambdas.FilterPixel_F32 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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
    • filter

      public static void filter(GrayF64 image, BoofLambdas.FilterPixel_F64 op)
      Functional API for modifying an images pixel values based on coordinate and value
    • 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