收藏
回答

监听摄像头帧数回调时,再去检测人脸会奔溃,怎么回事?

1.

		this.listener = this.ctx.onCameraFrame((frame) => {
					this.frameData = frame.data;
					this.frameWidth = frame.width;
					this.frameHeight = frame.height;
					that.session.detectFace({
						frameBuffer: frame.data,
						width: frame.width,
						height: frame.height,
						scoreThreshold: 0.8, 
						sourceType: 0,
						modelMode: 1,
					})
				})
		this.listener.start()


回答关注问题邀请回答
收藏

1 个回答

  • 张业贵
    张业贵
    2022-10-09

    看检测API

    const session = wx.createVKSession({
      track: {
        face: { mode: 1 } // mode: 1 - 使用摄像头;2 - 手动传入图像
      },
      version: 'v1'
    })
    
    // 摄像头实时检测模式下,监测到人脸时,updateAnchors 事件会连续触发 (每帧触发一次)
    session.on('updateAnchors', anchors => {
      console.log('anchors.points', anchors.points)
      console.log('anchors.origin', anchors.origin)
      console.log('anchors.size', anchors.size)
      console.log('anchors.angle', anchors.angle)
    })
    
    // 当人脸从相机中离开时,会触发 removeAnchors 事件
    session.on('removeAnchors', () => {
      console.log('removeAnchors')
    })
    
    
    

    https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/face.html

    2022-10-09
    有用
    回复 2
    • 云
      2023-04-08
      都看了,根本不知道有什么用,摄像头数据怎么传进去?
      2023-04-08
      回复
    • 云
      2023-04-08
      贴这个官方的,没有意义吧,这个几行代码,就能人脸检测了?demo更是自己错误百出,前后摄像头都不能切换
      2023-04-08
      回复
登录 后发表内容