Catalano.Imaging.Tools
Class IntegralImage
- java.lang.Object
-
- Catalano.Imaging.Tools.IntegralImage
-
public class IntegralImage extends java.lang.ObjectIntegral Image.
The class implements integral image concept, which is described by Viola and Jones in: P. Viola and M. J. Jones, "Robust real-time face detection", Int. Journal of Computer Vision 57(2), pp. 137–154, 2004.An integral image I of an input image G is defined as the image in which the intensity at a pixel position is equal to the sum of the intensities of all the pixels above and to the left of that position in the original image.
-
-
Constructor Summary
Constructors Constructor and Description IntegralImage(FastBitmap fastBitmap)Initializes a new instance of the IntegralImage class.IntegralImage(FastBitmap fastBitmap, int power)Initializes a new instance of the IntegralImage class.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static IntegralImageFromFastBitmap(FastBitmap fastBitmap)Construct integral image from source grayscale image.static IntegralImageFromFastBitmap(FastBitmap fastBitmap, int power)Construct integral image from source grayscale image.intgetHaarYWavelet(int x, int y, int radius)Calculate vertical (Y) haar wavelet at the specified point.intgetHarrXWavelet(int x, int y, int radius)Calculate horizontal (X) haar wavelet at the specified point.intgetHeight()Height of the source image the integral image was constructed for.int[][]getInternalData()Provides access to internal array keeping integral image data.intgetInternalData(int x, int y)Provides access to internal value keeping integral image data.floatgetRectangleMean(int x, int y, int radius)Calculate mean value of pixels in the specified rectangle.floatgetRectangleMean(int x1, int y1, int x2, int y2)Calculate mean value of pixels in the specified rectangle.floatgetRectangleMeanUnsafe(int x, int y, int radius)Calculate mean value of pixels in the specified rectangle without checking it's coordinates.floatgetRectangleMeanUnsafe(int x1, int y1, int x2, int y2)Calculate mean value of pixels in the specified rectangle without checking it's coordinates.intgetRectangleSum(int x, int y, int radius)Calculate sum of pixels in the specified rectangle.intgetRectangleSum(int x1, int y1, int x2, int y2)Calculate sum of pixels in the specified rectangle.intgetRectangleSumUnsafe(int x, int y, int radius)Calculate sum of pixels in the specified rectangle without checking it's coordinates.intgetRectangleSumUnsafe(int x1, int y1, int x2, int y2)Calculate mean value of pixels in the specified rectangle without checking it's coordinates.intgetWidth()Width of the source image the integral image was constructed for.
-
-
-
Constructor Detail
-
IntegralImage
public IntegralImage(FastBitmap fastBitmap)
Initializes a new instance of the IntegralImage class.- Parameters:
fastBitmap- An image to be processed.
-
IntegralImage
public IntegralImage(FastBitmap fastBitmap, int power)
Initializes a new instance of the IntegralImage class.- Parameters:
fastBitmap- An image to be processed.power- Power of the number.
-
-
Method Detail
-
getWidth
public int getWidth()
Width of the source image the integral image was constructed for.- Returns:
- Width.
-
getHeight
public int getHeight()
Height of the source image the integral image was constructed for.- Returns:
- Height.
-
getInternalData
public int[][] getInternalData()
Provides access to internal array keeping integral image data.- Returns:
- Data.
-
getInternalData
public int getInternalData(int x, int y)Provides access to internal value keeping integral image data.- Parameters:
x- X axis coordinate.y- Y axis coordinate.- Returns:
- Integral value.
-
FromFastBitmap
public static IntegralImage FromFastBitmap(FastBitmap fastBitmap)
Construct integral image from source grayscale image.- Parameters:
fastBitmap- Image to be processed.- Returns:
- Returns integral image.
-
FromFastBitmap
public static IntegralImage FromFastBitmap(FastBitmap fastBitmap, int power)
Construct integral image from source grayscale image.- Parameters:
fastBitmap- Image to be processed.power- Power of the number.- Returns:
- Returns integral image.
-
getRectangleSum
public int getRectangleSum(int x1, int y1, int x2, int y2)Calculate sum of pixels in the specified rectangle.- Parameters:
x1- Coordinate of left-top rectangle's corner.y1- Coordinate of left-top rectangle's corner.x2- Coordinate of right-bottom rectangle's corner.y2- Coordinate of right-bottom rectangle's corner.- Returns:
- Returns sum of pixels in the specified rectangle.
-
getRectangleSum
public int getRectangleSum(int x, int y, int radius)Calculate sum of pixels in the specified rectangle.- Parameters:
x- Coordinate of central point of the rectangle.y- Coordinate of central point of the rectangle.radius- Radius of the rectangle.- Returns:
- Returns sum of pixels in the specified rectangle.
-
getHarrXWavelet
public int getHarrXWavelet(int x, int y, int radius)Calculate horizontal (X) haar wavelet at the specified point.- Parameters:
x- X coordinate of the point to calculate wavelet at.y- Y coordinate of the point to calculate wavelet at.radius- Wavelet size to calculate.- Returns:
- Returns value of the horizontal wavelet at the specified point.
-
getHaarYWavelet
public int getHaarYWavelet(int x, int y, int radius)Calculate vertical (Y) haar wavelet at the specified point.- Parameters:
x- X coordinate of the point to calculate wavelet at.y- Y coordinate of the point to calculate wavelet at.radius- Wavelet size to calculate.- Returns:
- Returns value of the vertical wavelet at the specified point.
-
getRectangleMean
public float getRectangleMean(int x1, int y1, int x2, int y2)Calculate mean value of pixels in the specified rectangle.- Parameters:
x1- X coordinate of left-top rectangle's corner.y1- Y coordinate of left-top rectangle's corner.x2- X coordinate of right-bottom rectangle's corner.y2- Y coordinate of right-bottom rectangle's corner.- Returns:
- Returns mean value of pixels in the specified rectangle.
-
getRectangleMean
public float getRectangleMean(int x, int y, int radius)Calculate mean value of pixels in the specified rectangle.- Parameters:
x- X coordinate of central point of the rectangle.y- Y coordinate of central point of the rectangle.radius- Radius of the rectangle.- Returns:
- Returns mean value of pixels in the specified rectangle.
-
getRectangleSumUnsafe
public int getRectangleSumUnsafe(int x1, int y1, int x2, int y2)Calculate mean value of pixels in the specified rectangle without checking it's coordinates.- Parameters:
x1- X coordinate of left-top rectangle's corner.y1- Y coordinate of left-top rectangle's corner.x2- X coordinate of right-bottom rectangle's corner.y2- Y coordinate of right-bottom rectangle's corner.- Returns:
- Returns mean value of pixels in the specified rectangle.
-
getRectangleSumUnsafe
public int getRectangleSumUnsafe(int x, int y, int radius)Calculate sum of pixels in the specified rectangle without checking it's coordinates.- Parameters:
x- X coordinate of central point of the rectangle.y- Y coordinate of central point of the rectangle.radius- Radius of the rectangle.- Returns:
- Returns sum of pixels in the specified rectangle.
-
getRectangleMeanUnsafe
public float getRectangleMeanUnsafe(int x1, int y1, int x2, int y2)Calculate mean value of pixels in the specified rectangle without checking it's coordinates.- Parameters:
x1- X coordinate of left-top rectangle's corner.y1- Y coordinate of left-top rectangle's corner.x2- X coordinate of right-bottom rectangle's corner.y2- Y coordinate of right-bottom rectangle's corner.- Returns:
- Returns mean value of pixels in the specified rectangle.
-
getRectangleMeanUnsafe
public float getRectangleMeanUnsafe(int x, int y, int radius)Calculate mean value of pixels in the specified rectangle without checking it's coordinates.- Parameters:
x- X coordinate of central point of the rectangle.y- Y coordinate of central point of the rectangle.radius- Radius of the rectangle.- Returns:
- Returns mean value of pixels in the specified rectangle.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG