What this visualizer does
This page runs MediaPipe HandLandmarker directly in the browser. Upload an image, use the webcam, or try a sample guide, then inspect landmarks, handedness, connections, bounds, and measurements.
Computer vision visualizer
Detect 21 hand landmarks, handedness, finger joints, and browser-side measurements with MediaPipe.
This page runs MediaPipe HandLandmarker directly in the browser. Upload an image, use the webcam, or try a sample guide, then inspect landmarks, handedness, connections, bounds, and measurements.
MediaPipe returns 21 normalized landmarks for each hand, world landmarks for 3D reasoning, and a left or right handedness score.
import mediapipe as mp
BaseOptions = mp.tasks.BaseOptions
HandLandmarker = mp.tasks.vision.HandLandmarker
HandLandmarkerOptions = mp.tasks.vision.HandLandmarkerOptions
VisionRunningMode = mp.tasks.vision.RunningMode
options = HandLandmarkerOptions(
base_options=BaseOptions(model_asset_path="hand_landmarker.task"),
running_mode=VisionRunningMode.IMAGE,
num_hands=2,
min_hand_detection_confidence=0.5,
)
with HandLandmarker.create_from_options(options) as landmarker:
image = mp.Image.create_from_file("hand.jpg")
result = landmarker.detect(image)
print(result.hand_landmarks)The pipeline first localizes a palm or hand region, then estimates key finger joints inside that crop. Video mode reuses tracking across frames so webcam inference stays responsive.
Max hands limits returned hands, confidence filters weak detections, and overlay switches choose what is drawn.
Coordinates are normalized to image size. The z value is relative depth, while measurements are derived from the returned landmarks.
Built-in samples are lightweight guides. Upload a real photo or use webcam input with the full hand visible for better accuracy.
No. Detection runs client-side with MediaPipe Tasks and WebAssembly.