GestureUtils
public
final
class
GestureUtils
extends Object
java.lang.Object | |
↳ | android.gesture.GestureUtils |
Utility functions for gesture processing & analysis, including methods for:
- feature extraction (e.g., samplers and those for calculating bounding boxes and gesture path lengths);
- geometric transformation (e.g., translation, rotation and scaling);
- gesture similarity comparison (e.g., calculating Euclidean or Cosine distances between two gestures).
Summary
Public methods | |
---|---|
static
OrientedBoundingBox
|
computeOrientedBoundingBox(ArrayList<GesturePoint> originalPoints)
Computes an oriented, minimum bounding box of a set of points. |
static
OrientedBoundingBox
|
computeOrientedBoundingBox(float[] originalPoints)
Computes an oriented, minimum bounding box of a set of points. |
static
float[]
|
spatialSampling(Gesture gesture, int bitmapSize)
Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. |
static
float[]
|
spatialSampling(Gesture gesture, int bitmapSize, boolean keepAspectRatio)
Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. |
static
float[]
|
temporalSampling(GestureStroke stroke, int numPoints)
Samples a stroke temporally into a given number of evenly-distributed points. |
Inherited methods | |
---|---|
Public methods
computeOrientedBoundingBox
public static OrientedBoundingBox computeOrientedBoundingBox (ArrayList<GesturePoint> originalPoints)
Computes an oriented, minimum bounding box of a set of points.
Returns | |
---|---|
OrientedBoundingBox |
an oriented bounding box |
computeOrientedBoundingBox
public static OrientedBoundingBox computeOrientedBoundingBox (float[] originalPoints)
Computes an oriented, minimum bounding box of a set of points.
Returns | |
---|---|
OrientedBoundingBox |
an oriented bounding box |
spatialSampling
public static float[] spatialSampling (Gesture gesture, int bitmapSize)
Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. Scales the gesture to fit the size of the bitmap. The scaling does not necessarily keep the aspect ratio of the gesture.
Parameters | |
---|---|
gesture |
Gesture : the gesture to be sampled |
bitmapSize |
int : the size of the bitmap |
Returns | |
---|---|
float[] |
a bitmapSize x bitmapSize grayscale bitmap that is represented as a 1D array. The float at index i represents the grayscale value at pixel [i%bitmapSize, i/bitmapSize] |
spatialSampling
public static float[] spatialSampling (Gesture gesture, int bitmapSize, boolean keepAspectRatio)
Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. Scales the gesture to fit the size of the bitmap.
Parameters | |
---|---|
gesture |
Gesture : the gesture to be sampled |
bitmapSize |
int : the size of the bitmap |
keepAspectRatio |
boolean : if the scaling should keep the gesture's
aspect ratio |
Returns | |
---|---|
float[] |
a bitmapSize x bitmapSize grayscale bitmap that is represented as a 1D array. The float at index i represents the grayscale value at pixel [i%bitmapSize, i/bitmapSize] |
temporalSampling
public static float[] temporalSampling (GestureStroke stroke, int numPoints)
Samples a stroke temporally into a given number of evenly-distributed points.
Parameters | |
---|---|
stroke |
GestureStroke : the gesture stroke to be sampled |
numPoints |
int : the number of points |
Returns | |
---|---|
float[] |
the sampled points in the form of [x1, y1, x2, y2, ..., xn, yn] |