Class IntegralImageOps
Common operations for dealing with integral images.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic float
block_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 double
block_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 int
block_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 long
block_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 float
block_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 double
block_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 int
block_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 long
block_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 GrayF32
convolve
(GrayF32 integral, IntegralKernel kernel, @Nullable GrayF32 output) General code for convolving a box filter across an image using the integral image.static GrayF64
convolve
(GrayF64 integral, IntegralKernel kernel, @Nullable GrayF64 output) General code for convolving a box filter across an image using the integral image.static GrayS32
convolve
(GrayS32 integral, IntegralKernel kernel, @Nullable GrayS32 output) General code for convolving a box filter across an image using the integral image.static GrayS64
convolve
(GrayS64 integral, IntegralKernel kernel, @Nullable GrayS64 output) General code for convolving a box filter across an image using the integral image.static GrayF32
convolveBorder
(GrayF32 integral, IntegralKernel kernel, @Nullable GrayF32 output, int borderX, int borderY) Convolves the kernel only across the image's border.static GrayF64
convolveBorder
(GrayF64 integral, IntegralKernel kernel, @Nullable GrayF64 output, int borderX, int borderY) Convolves the kernel only across the image's border.static GrayS32
convolveBorder
(GrayS32 integral, IntegralKernel kernel, @Nullable GrayS32 output, int borderX, int borderY) Convolves the kernel only across the image's border.static GrayS64
convolveBorder
(GrayS64 integral, IntegralKernel kernel, @Nullable GrayS64 output, int borderX, int borderY) Convolves the kernel only across the image's border.static float
convolveSparse
(GrayF32 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static double
convolveSparse
(GrayF64 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static int
convolveSparse
(GrayS32 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static long
convolveSparse
(GrayS64 integral, IntegralKernel kernel, int x, int y) Convolves a kernel around a single point in the integral image.static boolean
isInBounds
(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 void
print
(IntegralKernel kernel) Prints out the kernel.static GrayF32
Converts a regular image into an integral image.static GrayF64
Converts a regular image into an integral image.static GrayS32
Converts a regular image into an integral image.static GrayS64
Converts a regular image into an integral image.static GrayS32
Converts 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
-