Javascript 基于PoseNet绘制图像(在p5.js中)
我在p5.js网络编辑器中使用ml5的poseNet,在使用网络摄像头的用户脸上放置一个时髦的头部图像。我希望草图在框架中没有人时绘制警告标志(草图文件中的图像“warning1.png”)。当草图检测到0个姿势时,它已经可以记录“帧中没有人”,但是如果图像warning1.png不是在draw函数中而是在setup函数中写入的,我如何在画布上绘制图像warning1.pngJavascript 基于PoseNet绘制图像(在p5.js中),javascript,p5.js,ml5,Javascript,P5.js,Ml5,我在p5.js网络编辑器中使用ml5的poseNet,在使用网络摄像头的用户脸上放置一个时髦的头部图像。我希望草图在框架中没有人时绘制警告标志(草图文件中的图像“warning1.png”)。当草图检测到0个姿势时,它已经可以记录“帧中没有人”,但是如果图像warning1.png不是在draw函数中而是在setup函数中写入的,我如何在画布上绘制图像warning1.png if (poses.length == 0) { console.log('no one in the fram
if (poses.length == 0) {
console.log('no one in the frame')
}
当画面中有多个人时(我使用的是poseNet的multipoe),情况也是如此。草图检测到帧中有+1人(控制台记录“帧中的人太多”)
。。。但是我如何在画布上绘制“warning2.png”图像呢
此外,我希望funkyhead.png图像在出现上述情况时消失-现在图像总是绘制为。下面是我在p5.js web编辑器中的草图:
_
非常感谢 您可以创建另一个全局变量来跟踪当前是否发生错误。在
gotPoses
中,可以将else语句添加到if语句中。然后将全局变量设置为true或false。在draw
中,使用相同的全局变量来确定是否显示图像
因此:
让noPoseDetected=false代码>
在getPoses中:
if (poses.length == 0) {
console.log('no one in the frame');
noPoseDetected = true;
} else {
noPoseDetected = false;
}
然后在绘图中:
if (noPoseDetected) {
image(warning1, 0, 0, 50,50);
}
这应该适用于您的所有用例
if (noPoseDetected) {
image(warning1, 0, 0, 50,50);
}