39 lines
1.4 KiB
HTML
39 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Hand Pose Detection</title>
|
|
<style>
|
|
body { margin: 0; overflow: hidden; display: flex; justify-content: center; align-items: center; min-height: 100vh; background-color: #f0f0f0; }
|
|
#container { position: relative; width: auto; height: auto; max-width: 100%; max-height: 100vh; }
|
|
video, canvas {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
|
|
display: block;
|
|
}
|
|
canvas { z-index: 10; }
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="container">
|
|
<video id="webcam" autoplay playsinline muted></video>
|
|
<canvas id="output"></canvas>
|
|
</div>
|
|
<!-- 引入 TensorFlow.js 核心库 -->
|
|
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-core"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-converter"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-webgl"></script>
|
|
|
|
<!-- 重点:引入 @mediapipe/hands 库 -->
|
|
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/hands"></script>
|
|
|
|
<!-- 引入 TensorFlow Models - Hand Pose Detection 库 -->
|
|
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/hand-pose-detection"></script>
|
|
|
|
<script src="script.js"></script> <!-- 你的主 JavaScript 文件 -->
|
|
</body>
|
|
</html>
|