我确定我在这里将自己作为网络开发菜鸟出游,但我自己无法弄清楚。我感谢任何人可以提供的任何帮助。
我正在尝试使用这个姿势检测库运行一个基本示例。自述文件指出我可以通过常规脚本标签或包管理器包含它。我的目标是在没有构建管道的情况下构建一个非常简单的示例,因此我通过在浏览器中打开它来运行以下代码,但没有取得太大成功:
<!doctype html>
<html lang="en">
<head>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/@mediapipe/pose"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow-models/pose-detection"></script>
<script>
!async function () {
const model = poseDetection.SupportedModels.BlazePose;
const detectorConfig = {
runtime: 'mediapipe',
solutionPath: 'base/node_modules/@mediapipe/pose'
};
const detector = await poseDetection.createDetector(model, detectorConfig);
}()
</script>
</body>
</html>
生成的错误消息如下所示:
Uncaught (in promise) TypeError: t.Pose is not a constructor
at new e (pose-detection:17)
at pose-detection:17
at pose-detection:17
at Object.next (pose-detection:17)
at pose-detection:17
at new Promise (<anonymous>)
at a (pose-detection:17)
at g (pose-detection:17)
at Object.<anonymous> (pose-detection:17)
at pose-detection:17
我查看了由 CDN 提供的库代码的缩小版本,并在源代码存储库中找到了相应的位置。在我看来,媒体管道依赖项没有得到正确解决,也许是因为假设它是通过包管理器运行的?我的假设是我应该能够以我做错的方式运行它,还是图书馆的分布方式禁止它像我在那里那样通过脚本标签包含在内?
提前致谢。如果我遗漏了任何重要的细节,请告诉我。