# VKSession
基础库 2.20.0 开始支持,低版本需做兼容处理。
vision kit 会话对象。
# 属性
# number state
会话状态
state 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 不可用 | |
1 | 运行中 | |
2 | 暂停中 | |
3 | 初始化中 | 2.29.0 |
# Object config
会话配置
属性 | 类型 | 说明 | 最低版本 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
version | string | vision kit 版本。 | 2.22.0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
track | Object | 跟踪能力配置,目前不同的跟踪能力之间是互斥的,默认使用平面跟踪能力。需要注意目前 track 中不同的跟踪配置存在互斥关系(比如 marker 跟踪配置和 OSD 跟踪配置不能同时存在),请按需配置。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
gl | WebGLRenderingContext | 绑定的 WebGLRenderingContext 对象 | 2.23.0 |
# Object cameraSize
相机尺寸
属性 | 类型 | 说明 |
---|---|---|
width | number | 宽度 |
height | number | 高度 |
# 方法
# VKSession.start(VKSessionStartCallback callback)
开启会话。
# VKSession.stop()
停止会话。
# VKSession.destroy()
销毁会话。
# number VKSession.requestAnimationFrame(function callback)
在下次进行重绘时执行。
# VKSession.cancelAnimationFrame(number requestID)
取消由 requestAnimationFrame 添加到计划中的动画帧请求。
# VKFrame VKSession.getVKFrame(number width, number height)
获取帧对象,每调用一次都会触发一次帧分析过程。目前 VKSession 相机的最大帧数是 30 fps,因此调用 getVKFrame 的频率也可以限制在 30 fps,以减少渲染开销。
# Array.<HitTestRes> VKSession.hitTest(number x, number y, Object reset)
触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。
# number VKSession.addMarker(string path)
添加一个 marker,要求调 wx.createVKSession 时传入的 track.marker 为 true
# VKSession.removeMarker(number markerId)
删除一个 marker,要求调 wx.createVKSession 时传入的 track.marker 为 true
# Array.<VKMarker> VKSession.getAllMarker()
获取所有 marker,要求调 wx.createVKSession 时传入的 track.marker 为 true
# number VKSession.addOSDMarker(string path)
添加一个 OSD marker(one-shot detection marker),要求调 wx.createVKSession 时传入的 track.OSD 为 true
# VKSession.removeOSDMarker(number markerId)
删除一个 OSD marker,要求调 wx.createVKSession 时传入的 track.OSD 为 true
# Array.<VKMarker> VKSession.getAllOSDMarker()
获取所有 OSD marker,要求调 wx.createVKSession 时传入的 track.OSD 为 true
# VKSession.update3DMode(Object object)
更新三维识别相关配置,要求调 wx.createVKSession 时使用 face / hand / body。
# VKSession.updateMaskMode(Object object)
设置裁剪相关配置,要求调 wx.createVKSession 时使用 shoe。
# VKSession.updateOSDThreshold(number threshold)
更新 OSD 识别精确度,要求调 wx.createVKSession 时传入的 track.OSD 为 true
# VKSession.setDepthOccRange(number threshold)
更新 深度遮挡 Occ范围,要求调 wx.createVKSession 时传入 {track: {depth: {mode: 2} } }
# VKSession.detectFace(Object object)
静态图像人脸关键点检测。当 wx.createVKSession 参数传入 {track: {face: {mode: 2} } } 时可用。用法详情指南文档。安卓微信8.0.25开始支持,iOS微信8.0.24开始支持。
# VKSession.detectBody(Object object)
静态图像人体关键点检测。当 wx.createVKSession 参数传入 {track: {body: {mode: 2} } } 时可用。用法详情指南文档。
# VKSession.detectHand(Object object)
静态图像手势关键点检测。当 wx.createVKSession 参数传入 {track: {hand: {mode: 2} } } 时可用。用法详情指南文档。
# VKSession.detectDepth(Object object)
深度识别。当 wx.createVKSession 参数传入 {track: {depth: {mode: 2} } } 时可用。用法详情指南文档。
# VKSession.runOCR(Object object)
静态图像OCR检测。当 wx.createVKSession 参数传入 {track: {OCR: {mode: 2} } } 时可用。用法详情指南文档。
# VKSession.on(string eventName, function fn)
监听会话事件。
# VKSession.off(string eventName, function fn)
取消监听会话事件。