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] |