Class IntegralImageOps
Common operations for dealing with integral images.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic floatblock_unsafe(GrayF32 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image without bounds checking.static doubleblock_unsafe(GrayF64 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image without bounds checking.static intblock_unsafe(GrayS32 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image without bounds checking.static longblock_unsafe(GrayS64 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image without bounds checking.static floatblock_zero(GrayF32 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image and treats pixels outside of the image as zero.static doubleblock_zero(GrayF64 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image and treats pixels outside of the image as zero.static intblock_zero(GrayS32 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image and treats pixels outside of the image as zero.static longblock_zero(GrayS64 integral, int x0, int y0, int x1, int y1) Computes the value of a block inside an integral image and treats pixels outside of the image as zero.static GrayF32convolve(GrayF32 integral, IntegralKernel kernel, @Nullable GrayF32 output) General code for convolving a box filter across an image using the integral image.static GrayF64convolve(GrayF64 integral, IntegralKernel kernel, @Nullable GrayF64 output) General code for convolving a box filter across an image using the integral image.static GrayS32convolve(GrayS32 integral, IntegralKernel kernel, @Nullable GrayS32 output) General code for convolving a box filter across an image using the integral image.static GrayS64convolve(GrayS64 integral, IntegralKernel kernel, @Nullable GrayS64 output) General code for convolving a box filter across an image using the integral image.static GrayF32convolveBorder(GrayF32 integral, IntegralKernel kernel, @Nullable GrayF32 output, int borderX, int borderY) Convolves the kernel only across the image's border.static GrayF64convolveBorder(GrayF64 integral, IntegralKernel kernel, @Nullable GrayF64 output, int borderX, int borderY) Convolves the kernel only across the image's border.static GrayS32convolveBorder(GrayS32 integral, IntegralKernel kernel, @Nullable GrayS32 output, int borderX, int borderY) Convolves the kernel only across the image's border.static GrayS64convolveBorder(GrayS64 integral, IntegralKernel kernel, @Nullable GrayS64 output, int borderX, int borderY) Convolves the kernel only across the image's border.static floatconvolveSparse(GrayF32 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static doubleconvolveSparse(GrayF64 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static intconvolveSparse(GrayS32 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static longconvolveSparse(GrayS64 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static booleanisInBounds(int x, int y, IntegralKernel kernel, int width, int height) Checks to see if the kernel is applied at this specific spot if all the pixels would be inside the image bounds or notstatic voidprint(IntegralKernel kernel) Prints out the kernel.static GrayF32Converts a regular image into an integral image.static GrayF64Converts a regular image into an integral image.static GrayS32Converts a regular image into an integral image.static GrayS64Converts a regular image into an integral image.static GrayS32Converts a regular image into an integral image.
-
Constructor Details
-
IntegralImageOps
public IntegralImageOps()
-
-
Method Details
-
transform
Converts a regular image into an integral image.- Parameters:
input- Regular image. Not modified.transformed- Integral image. If null a new image will be created. Modified.- Returns:
- Integral image.
-
transform
Converts a regular image into an integral image.- Parameters:
input- Regular image. Not modified.transformed- Integral image. If null a new image will be created. Modified.- Returns:
- Integral image.
-
transform
Converts a regular image into an integral image.- Parameters:
input- Regular image. Not modified.transformed- Integral image. If null a new image will be created. Modified.- Returns:
- Integral image.
-
transform
Converts a regular image into an integral image.- Parameters:
input- Regular image. Not modified.transformed- Integral image. If null a new image will be created. Modified.- Returns:
- Integral image.
-
transform
Converts a regular image into an integral image.- Parameters:
input- Regular image. Not modified.transformed- Integral image. If null a new image will be created. Modified.- Returns:
- Integral image.
-
convolve
public static GrayF32 convolve(GrayF32 integral, IntegralKernel kernel, @Nullable @Nullable GrayF32 output) General code for convolving a box filter across an image using the integral image.- Parameters:
integral- Integral image.kernel- Convolution kernel.output- The convolved image. If null a new image will be declared and returned. Modified.- Returns:
- Convolved image.
-
convolve
public static GrayF64 convolve(GrayF64 integral, IntegralKernel kernel, @Nullable @Nullable GrayF64 output) General code for convolving a box filter across an image using the integral image.- Parameters:
integral- Integral image.kernel- Convolution kernel.output- The convolved image. If null a new image will be declared and returned. Modified.- Returns:
- Convolved image.
-
convolve
public static GrayS32 convolve(GrayS32 integral, IntegralKernel kernel, @Nullable @Nullable GrayS32 output) General code for convolving a box filter across an image using the integral image.- Parameters:
integral- Integral image.kernel- Convolution kernel.output- The convolved image. If null a new image will be declared and returned. Modified.- Returns:
- Convolved image.
-
convolve
public static GrayS64 convolve(GrayS64 integral, IntegralKernel kernel, @Nullable @Nullable GrayS64 output) General code for convolving a box filter across an image using the integral image.- Parameters:
integral- Integral image.kernel- Convolution kernel.output- The convolved image. If null a new image will be declared and returned. Modified.- Returns:
- Convolved image.
-
convolveBorder
public static GrayF32 convolveBorder(GrayF32 integral, IntegralKernel kernel, @Nullable @Nullable GrayF32 output, int borderX, int borderY) Convolves the kernel only across the image's border.- Parameters:
integral- Integral image. Not modified.kernel- Convolution kernel.output- The convolved image. If null a new image will be created. Modified.borderX- Size of the image border along the horizontal axis.borderY- size of the image border along the vertical axis.
-
convolveBorder
public static GrayF64 convolveBorder(GrayF64 integral, IntegralKernel kernel, @Nullable @Nullable GrayF64 output, int borderX, int borderY) Convolves the kernel only across the image's border.- Parameters:
integral- Integral image. Not modified.kernel- Convolution kernel.output- The convolved image. If null a new image will be created. Modified.borderX- Size of the image border along the horizontal axis.borderY- size of the image border along the vertical axis.
-
convolveBorder
public static GrayS32 convolveBorder(GrayS32 integral, IntegralKernel kernel, @Nullable @Nullable GrayS32 output, int borderX, int borderY) Convolves the kernel only across the image's border.- Parameters:
integral- Integral image. Not modified.kernel- Convolution kernel.output- The convolved image. If null a new image will be created. Modified.borderX- Size of the image border along the horizontal axis.borderY- size of the image border along the vertical axis.
-
convolveBorder
public static GrayS64 convolveBorder(GrayS64 integral, IntegralKernel kernel, @Nullable @Nullable GrayS64 output, int borderX, int borderY) Convolves the kernel only across the image's border.- Parameters:
integral- Integral image. Not modified.kernel- Convolution kernel.output- The convolved image. If null a new image will be created. Modified.borderX- Size of the image border along the horizontal axis.borderY- size of the image border along the vertical axis.
-
convolveSparse
Convolves a kernel around a single point in the integral image.- Parameters:
integral- Input integral image. Not modified.kernel- Convolution kernel.x- Pixel the convolution is performed at.y- Pixel the convolution is performed at.- Returns:
- Value of the convolution
-
convolveSparse
Convolves a kernel around a single point in the integral image.- Parameters:
integral- Input integral image. Not modified.kernel- Convolution kernel.x- Pixel the convolution is performed at.y- Pixel the convolution is performed at.- Returns:
- Value of the convolution
-
convolveSparse
Convolves a kernel around a single point in the integral image.- Parameters:
integral- Input integral image. Not modified.kernel- Convolution kernel.x- Pixel the convolution is performed at.y- Pixel the convolution is performed at.- Returns:
- Value of the convolution
-
convolveSparse
Convolves a kernel around a single point in the integral image.- Parameters:
integral- Input integral image. Not modified.kernel- Convolution kernel.x- Pixel the convolution is performed at.y- Pixel the convolution is performed at.- Returns:
- Value of the convolution
-
block_unsafe
Computes the value of a block inside an integral image without bounds checking. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
block_unsafe
Computes the value of a block inside an integral image without bounds checking. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
block_unsafe
Computes the value of a block inside an integral image without bounds checking. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
block_unsafe
Computes the value of a block inside an integral image without bounds checking. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
block_zero
Computes the value of a block inside an integral image and treats pixels outside of the image as zero. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
block_zero
Computes the value of a block inside an integral image and treats pixels outside of the image as zero. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
block_zero
Computes the value of a block inside an integral image and treats pixels outside of the image as zero. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
block_zero
Computes the value of a block inside an integral image and treats pixels outside of the image as zero. The block is defined as follows: x0 < x ≤ x1 and y0 < y ≤ y1.
- Parameters:
integral- Integral image.x0- Lower bound of the block. Exclusive.y0- Lower bound of the block. Exclusive.x1- Upper bound of the block. Inclusive.y1- Upper bound of the block. Inclusive.- Returns:
- Value inside the block.
-
print
Prints out the kernel.- Parameters:
kernel- THe kernel which is to be printed.
-
isInBounds
Checks to see if the kernel is applied at this specific spot if all the pixels would be inside the image bounds or not- Parameters:
x- location where the kernel is applied. x-axisy- location where the kernel is applied. y-axiskernel- The kernelwidth- Image's widthheight- Image's height- Returns:
- true if in bounds and false if out of bounds
-