onReady: function (e) {
this.session = wx.createVKSession({
track: {
face: { mode: 1 } // mode: 1 - 使用摄像头;2 - 手动传入图像
},
});
this.startDetecting();
},
takePhoto() {
const ctx = wx.createCameraContext()
console.log('Taking photo...');
ctx.takePhoto({
quality: 'high',
success: (res) => {
console.log('Photo taken successfully.');
this.setData({
src: res.tempImagePath
})
},
fail: (err) => {
console.log('Failed to take photo: ', err);
}
})
},
error(e) {
console.log('Camera error: ', e.detail);
},
startDetecting: function () {
this.session.on('updateAnchors', anchors => {
console.log('updateAnchors', 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)
});
});
this.session.on('removeAnchors', () => {
console.log('removeAnchors');
});
this.session.start(errno => {
if (errno) {
console.log("VKSession start failed: ", errno);
} else {
console.log("VKSession start successfully");
}
});
},
stopDetecting: function () {
this.session.stop();
},
在使用 VKSession的情况下,同时使用 小程序 camera 组件 的用法是违规的,没有触发updateAnchor 是合理的。
在使用VK的情况下,摄像头是有 visionKit 控制,不能同时存在多个相机
VK实时识别人脸的用法,可以参考小程序示例:
小程序示例 - 接口 - VisionKit视觉能力 - 实时人脸检测
https://github.com/wechat-miniprogram/miniprogram-demo/tree/master/miniprogram/packageAPI/pages/ar/face-detect
VKSession 不能像以前的wx.initFaceDetect()一样初始化,然后wx.faceDetect侦听人脸吗,怎么调用也不报错,然后也监听不到任何消息呢!
不报错吗