Overview
1. spaceGearSDK AAR
Copy the spaceGearSDK-debug.aar
library file to htSample/app/aar
.
app/build.gradle
Set implementation AAR.
dependencies {
.
.
.
implementation files('aar/spaceGearSDK-debug.aar')
}
2. HandTracking init
MainActivity.java
HandTracking.getInstance().init(this);
3. Camera Preview Callback Mode
HandTracking.getInstance().setImageJpeg(data, false);
ex) HandTracking.getInstance().setImageYUV(640,480, data, false);
4. HandTracking Result draw
HandOverlayView.java
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (landmarkInfoList == null || landmarkInfoList.isEmpty()) return;
for (int handIndex = 0; handIndex < landmarkInfoList.size(); handIndex++) {
HandTrackingResult.LandmarkInfo info = landmarkInfoList.get(handIndex);
float xScale = (float)canvasWidth / info.imgWidth;
float yScale = (float)canvasHeight / info.imgHeight;
List<HandTrackingResult.Point2> points = info.nativeLandmarksScreenPt2;
if (points == null || points.size() < 21) continue;
// Draw connections
for (int[] pair : CONNECTIONS) {
HandTrackingResult.Point2 p1 = points.get(pair[0]);
HandTrackingResult.Point2 p2 = points.get(pair[1]);
canvas.drawLine(p1.x * xScale, p1.y * yScale, p2.x * xScale, p2.y * yScale, linePaint);
}
for (int i = 0; i < points.size(); i++) {
HandTrackingResult.Point2 pt = points.get(i);
canvas.drawCircle(pt.x * xScale, pt.y * yScale, 10f, circlePaint);
}
}
}
Receive hand tracking result values from the SDK and draw the coordinates on the canvas.
5. Diagram

Last updated