基础库 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)
取消监听会话事件。