这是在相机输出帧大小640px480px/480px640px,camera组件在iPhone 8 plus(屏大小414px736px)横竖屏下的裁切效果。

三、如何适配处理全屏模式的问题?

根据上面camera的预览裁切模式效果不雅观察,我们只要打算出被裁剪缩放比例及短边两边的留白,并进行相应的缩放及偏移即可,代码如下:

function fullScreenFit(width, height) {const winfo = uni.getWindowInfo();this.previewWidth = winfo.windowWidth;this.previewHeight = winfo.windowHeight;if (winfo.windowHeight > winfo.windowWidth) {//竖屏console.log('竖屏');this.previewRate = winfo.windowHeight / height;this.previewOffsetX = winfo.windowWidth - width this.previewRate;this.previewOffsetX /= 2;this.previewOffsetY = 0;} else {//横屏console.log('横屏');this.previewRate = winfo.windowWidth / width;this.previewOffsetX = 0;this.previewOffsetY = winfo.windowHeight - height this.previewRate;this.previewOffsetY /= 2;}}//配置骨骼图偏移,需升级插件版本至1.5.5以上this.poseGraphs = new PoseGraphs(ctx, canvas.width, canvas.height, that.previewRate);this.poseGraphs.offsetX = that.previewOffsetX;this.poseGraphs.offsetY = that.previewOffsetY;

当然实际利用中,还须要适配横竖屏的样式等,完全代码代码请参考我们供应的Demo项目。

三、全屏模式的副浸染及建议。

上面便适配处理好了全屏模式,当然在此模式也可能会带来一些副浸染,详细跟相机的输出帧图像和屏幕大小有关。

开拓AI运动小轨范二十AI运动小轨范若何适配相机全屏模式

3.1、人体可视区域变小

由于全屏模式下,会对短边进行裁切,而用户根据的是可视区域进行调度人体站位,以是人体区域便变小了,可能会降落人体识别效果;建议提高camera的分辨率和帧大小至中级,将人体远、近检测范围提高,详细请参考本系列文章干系章节。

3.2、人体检测范围变革

若您在运动时进行了人体远、近站位预检,那相应的range坐标也需进行偏移。

3.2、抽帧帧率低落

由于提高了分辨率和帧大小来应对可视区域变小的问题,在一些偏老机型可能会导致帧率低落问题。

当然以上问题,根据我们的实测,大部分情形和机型不会影相应用。

好了,全屏适配问题就为您先容到这里,未尽问题可以联系我们进行咨询,插件将致力为您供应全面的AI运动识别办理方案,助力您快速落地AI运动、AI体育、AI健身、AI体测、AR互动等运动运用。