收藏
回答

为什么调用 session.detectFace会导致微信闪退?

  <camera
            class="camera"
            device-position="front"
            flash="off"
            resolution="low"
            @error="error"
          ></camera>
 
vks() {
      let that = this;
      that.cameraEngine = wx.createCameraContext();
      const session = wx.createVKSession({
        track: {
          face: { mode: 2 }, // mode: 1 - 使用摄像头;2 - 手动传入图像
        },
        // gl: gl,
      });
      console.error(session, "session");
      // 摄像头实时检测模式下,监测到人脸时,updateAnchors 事件会连续触发 (每帧触发一次)
      session.on("updateAnchors", (anchors) => {
        console.error(anchors, "session.anchors");
        anchors.forEach((anchor) => {
          console.log("anchor.points", anchor.points);
          console.log("anchor.origin", anchor.origin);
          console.log("anchor.size", anchor.size);
          console.log("anchor.angle", anchor.angle);
        });
      });


      // 当人脸从相机中离开时,会触发 removeAnchors 事件
      session.on("removeAnchors", () => {
        console.log("removeAnchors");
      });


      // 需要调用一次 start 以启动
      session.start((errno) => {
        console.error(errno, "session.start");
        if (errno) return console.error("VK error: ", errno);
        const listener = that.cameraEngine.onCameraFrame((frame) => {
          //   console.error(frame, "frame");
          session.detectFace({
            ArrayBuffer: frame.data, // 图片 ArrayBuffer 数据。人脸图像像素点数据,每四项表示一个像素点的 RGBA
            width: frame.width, // 图像宽度
            height: frame.height, // 图像高度
            scoreThreshold: 0.8, // 评分阈值
            sourceType: 0,
            modelMode: 1,
          });
        });


        listener.start();
      });
    },
回答关注问题邀请回答
收藏

1 个回答

  • ㅤㅤㅤㅤㅤㅤㅤㅤkaisen
    ㅤㅤㅤㅤㅤㅤㅤㅤkaisen
    05-14
     ArrayBuffer: frame.data
    这里的key值搞错了,不好意思,记录一下
    
    05-14
    有用
    回复
登录 后发表内容