Class Pose
java.lang.Object
com.codename1.ai.vision.Pose
Portable body-pose result. Landmark coordinates use the normalized
top-left-origin image space defined by VisionPoint; confidence is
in the range 0..1.
Common backend-neutral names include nose, leftEye, rightEye,
leftEar, rightEar, and the left/right forms of Shoulder, Elbow,
Wrist, Hip, Knee, and Ankle. A backend can additionally report
finer eye, mouth, finger, heel, foot, neck, or root landmarks using the
same lower-camel-case convention. PoseLandmarks holds those names
as constants.
PoseDetector detector = new PoseDetector();
detector.process(VisionImage.fromCameraFrame(frame)).ready(pose -> {
Pose.Landmark wrist = pose.getLandmark(PoseLandmarks.RIGHT_WRIST);
Pose.Landmark shoulder = pose.getLandmark(PoseLandmarks.RIGHT_SHOULDER);
boolean raised = wrist != null && shoulder != null
&& wrist.getConfidence() > 0.6f
&& wrist.getPosition().getY() < shoulder.getPosition().getY();
repsLabel.setText(raised ? "up" : "down");
});
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classOne named body joint with normalized position and confidence. -
Constructor Summary
ConstructorsConstructorDescriptionPose(Pose.Landmark[] landmarks) Creates a pose without backend metadata.Pose(Pose.Landmark[] landmarks, VisionMetadata metadata) Creates a pose with backend diagnostics. -
Method Summary
-
Constructor Details
-
Pose
Creates a pose without backend metadata.- Parameters:
landmarks- detected named body landmarks, defensively copied
-
Pose
Creates a pose with backend diagnostics.- Parameters:
landmarks- detected named body landmarks, defensively copiedmetadata- backend details, ornull
-
-
Method Details
-
getLandmark
Looks up one named joint.
Backends detect different subsets of the skeleton, so a
nullreturn means "this backend did not report that joint for this frame", not "unsupported". CheckPose.Landmark.getConfidence()before trusting a position.- Parameters:
name- one of thePoseLandmarksconstants- Returns:
- the detected joint, or
nullwhen it was not reported
-
getLandmarks
- Returns:
- defensive copy of detected body landmarks
-
getMetadata
- Returns:
- backend metadata, or
nullwhen manually constructed
-