Class GImageMiscOps

java.lang.Object
boofcv.alg.misc.GImageMiscOps

public class GImageMiscOps extends Object
Generalized version of ImageMiscOps. Type checking is performed at runtime instead of at compile type.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    addGaussian(ImageBase input, Random rand, double sigma, double lowerBound, double upperBound)
    Adds Gaussian/normal i.i.d noise to each pixel in the image.
    static void
    addUniform(ImageBase input, Random rand, double min, double 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, ImageBase input, ImageBorder border, ImageBase 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, ImageBase input, ImageBase 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
    fill(ImageBase input, double value)
    Computes the mean of the absolute value of the difference between the two images.
    static void
    fill(ImageBase input, double[] values)
    Computes the mean of the absolute value of the difference between the two images.
    static void
    fillBand(ImageMultiBand input, int band, double value)
    Computes the mean of the absolute value of the difference between the two images.
    static void
    fillBorder(ImageBase input, double value, int radius)
    Fills the outside border with the specified value
    static void
    fillBorder(ImageBase input, double value, int borderX0, int borderY0, int borderX1, int borderY1)
    Fills the border with independent border widths for each side
    static void
    fillGaussian(ImageBase 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
    fillRectangle(ImageBase input, 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
    fillUniform(ImageBase input, 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
    fillUniformSmart(ImageBase input, Random rand, double min, double max)
    Applies "smart" bounds based on image type when filling the image with uniform data
    static void
    Flips the image from left to right
    static void
    Flips the image from top to bottom
    static <T extends ImageBase<T>>
    void
    growBorder(T src, ImageBorder<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(ImageGray input, int band, ImageMultiBand output)
    Computes the mean of the absolute value of the difference between the two images.
    static void
    maskFill(ImageBase input, 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
    In-place 90 degree image rotation in the counter-clockwise direction.
    static <T extends ImageBase<T>>
    T
    rotateCCW(T imageA, T imageB)
    Rotates the image 90 degrees in the counter-clockwise direction.
    static void
    In-place 90 degree image rotation in the clockwise direction.
    static <T extends ImageBase<T>>
    T
    rotateCW(T imageA, T imageB)
    Rotates the image 90 degrees in the clockwise direction.
    static <T extends ImageBase<T>>
    T
    transpose(T imageA, T imageB)
    Transposes the image.

    Methods inherited from class java.lang.Object

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

    • GImageMiscOps

      public GImageMiscOps()
  • Method Details

    • copy

      public static void copy(int srcX, int srcY, int dstX, int dstY, int width, int height, ImageBase input, ImageBorder border, ImageBase output)
      Copies a rectangular region from one image into another. Pixels can be outside the input image.
      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 - Method used to hand pixels outside the input image border
      output - output image
    • copy

      public static void copy(int srcX, int srcY, int dstX, int dstY, int width, int height, ImageBase input, ImageBase 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(ImageBase input, double value)
      Computes the mean of the absolute value of the difference between the two images.
      Parameters:
      input - Input image. Not modified.
      value - fill value
    • maskFill

      public static void maskFill(ImageBase input, GrayU8 mask, int maskTarget, double value)
      * Fills pixels in the image that match the mask target value image with the specified fill value
      Parameters:
      input - 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(ImageBase input, double[] values)
      Computes the mean of the absolute value of the difference between the two images.
      Parameters:
      input - Input image. Not modified.
      values - Array which contains the values each band is to be filled with.
    • fillBand

      public static void fillBand(ImageMultiBand input, int band, double value)
      Computes the mean of the absolute value of the difference between the two images.
      Parameters:
      input - An image.
      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(ImageGray input, int band, ImageMultiBand output)
      Computes the mean of the absolute value of the difference between the two images.
      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
    • fillBorder

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

      public static void fillBorder(ImageBase input, double value, int borderX0, int borderY0, int borderX1, int borderY1)
      Fills the border with independent border widths for each side
      Parameters:
      input - 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(ImageBase input, 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:
      input - 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
    • fillGaussian

      public static void fillGaussian(ImageBase 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
    • fillUniform

      public static void fillUniform(ImageBase input, 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:
      input - 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.
    • fillUniformSmart

      public static void fillUniformSmart(ImageBase input, Random rand, double min, double max)
      Applies "smart" bounds based on image type when filling the image with uniform data
    • addGaussian

      public static void addGaussian(ImageBase input, 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:
      input - Input image. Modified.
      rand - Random number generator.
      sigma - Distributions standard deviation.
      lowerBound - Allowed lower bound
      upperBound - Allowed upper bound
    • addUniform

      public static void addUniform(ImageBase 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.
    • flipVertical

      public static void flipVertical(ImageBase img)
      Flips the image from top to bottom
    • flipHorizontal

      public static void flipHorizontal(ImageBase img)
      Flips the image from left to right
    • transpose

      public static <T extends ImageBase<T>> T transpose(T imageA, @Nullable T imageB)
      Transposes the image.
    • rotateCW

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

      public static <T extends ImageBase<T>> T rotateCW(T imageA, @Nullable T imageB)
      Rotates the image 90 degrees in the clockwise direction.
    • rotateCCW

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

      public static <T extends ImageBase<T>> T rotateCCW(T imageA, @Nullable T imageB)
      Rotates the image 90 degrees in the counter-clockwise direction.
    • growBorder

      public static <T extends ImageBase<T>> void growBorder(T src, ImageBorder<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