尝试方式一: 在 worker 获取图片帧,并进行预处理(如归一化),然后将 Float32Array worker.PostMessage 给 主线程,主线程在 worker.OnMessage 中进行 AI 推理。 结果:主线程仅接收帧,就卡死 UI 。 尝试方式二: 在 worker 获取图片帧,并进行预处理(如归一化),然后将 Float32Array 转为 base64 字符串,发给主线程,主线程再将 base64 转为 Flaot32Array 后进行 AI 推理。 结果: 主线程收到的帧确实 “变” 多了,但 AI 推理依然卡死 UI 。 尝试方式三: 在 worker 获取图片帧,并进行预处理(如归一化),然后将 Float32Array 转为 base64 字符串,发给主线程,主线程再将 base64 发送到云端进行 AI 推理。 结果:可行,但非手机端侧 AI 推理,不符合需求。 以上 iOS 端测试结果。 (注:Android 可直接在主线程进行图片帧处理和 AI 推理)
iOS 怎么使用 AI 相关 API ,如 wx.createInferenceSession?1)Android 平台 const context = wx.createCameraContext(this); const listener = context.onCameraFrame(frame => { // 使用 wx.createInferenceSession 相关 API实现 图片帧推理,没问题 }); 2) IOS 平台 使用上述代码,图片帧回调超级慢,文档推荐使用 worker 实现,但是 worker 中无法使用 wx.createInferenceSession等 相关 API ,怎么办? Worker.getCameraFrameData() 安卓端,可以使用时因为这个 [图片]
02-24