随着人工智能技术的不断发展,阿里体育等IT大厂,推出的“乐动力”、“天天跳绳”AI运动APP,让云上运动会、线上运动会、健身打卡、AI体育指导等概念空前火热。那么,能否将这些在APP成功应用的场景搬上小程序,分享这些概念的红利呢?本系列文章就带您一步一步从零开始开发一个AI运动小程序,本系列文章将使用“云智AI运动识别小程序插件”,请先行在微信服务市场官网了解详情。

一、工具介绍

受限于微信小程序IDE,无法在IDE上直接调试camera组件及相关API,联机调试时console输出大数据时可能导致卡死的问题,为了弥补此项不足,我们为各位开发者准备了一个姿态调试的辅助桌面工具,帮助开发者更高效的进行姿态调试。

二、使用安装

请先按照集成文档,安装好工具的运行时。

三、启动服务器

点击【启动】按钮,启动调试工具回传服务器,准备接收回传数据,工具默认情况下是监听所有IP的20231端口,请关闭调试机器的防火墙,查看并记住本机的内网IP

四、小程序回传帧

小程序端是由BodyDebugClient对象,负责向工具进行回传人体识别数据的。

const AiSport = requirePlugin("aiSport");
const humanDetection = AiSport.humanDetection;
const BodyDebugClient = AiSport.BodyDebugClient; //新建客户端
const client = new BodyDebugClient("http://192.168.5.87:20231"); //假设您运行工具的机器IP是192.168.5.87,实际使用替换相应的IP即可
client.connect(); //抽帧
const context = wx.createCameraContext();
const listener = context.onCameraFrame((frame) => {
const image = {
width: Number(frame.width),
height: Number(frame.height),
rawData: frame.data
}; //人体识别
humanDetection.detectionAsync(image).then(human=>{
client.enqueue(frame, human);//回传暂存
});
});
listener.start();

//切记先停止抽帧和识别,再进行执行同步,否则可能会导致UI卡死
listener.stop(); uni.showLoading({
title: '同步帧数据...'
});
client.syncing((idx, total) => { uni.hideLoading();
if (idx >= total)
return; uni.showLoading({
title: `同步进度${idx}/${total}`
}); });

下篇将为您介绍姿态相似度比较功能,敬请期待...

【一步步开发AI运动小程序】九、姿态辅助调试桌面工具的使用的更多相关文章

  1. 开发一个微信小程序教程

    一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可. 2.注册成功后进入首页,在 小程序发布流程->小程序 ...

  2. 开发一个微信小程序项目教程

    一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...

  3. 开发一个微信小程序实例教程

    一.注册小程序账号 1.进入微信公众平台(https://mp.weixin.qq.com/),注册小程序账号,根据提示填写对应的信息即可.2.注册成功后进入首页,在 小程序发布流程->小程序开 ...

  4. 如何快速地开发一个微信小程序

    如何快速地开发一个微信小程序呢?我觉得作为初学者,最好能有一个模板,然后改这个模板. 同样作为初学者,刚开始的时候我有下面的几个问题,后来通过问同学,我弄清楚了. 微信小程序可以连接MySQL或者Sq ...

  5. Java可视化日历(Date类、DATe Format类、Calendar类综合运用),开发可视化日历小程序

    Java时间日期类综合运用,开发可视化日历小程序 由键盘输入指定格式的日期,打印这个月的日历 1.代码 import java.text.DateFormat; import java.text.Pa ...

  6. 全栈开发工程师微信小程序-中(下)

    全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...

  7. 全栈开发工程师微信小程序-中(中)

    全栈开发工程师微信小程序-中(中) 开放能力 open-data 用于展示微信开放的数据 type 开放数据类型 open-gid 当 type="groupName" 时生效, ...

  8. 全栈开发工程师微信小程序-中

    全栈开发工程师微信小程序-中 多媒体及其他的组件 navigator 页面链接 target 在哪个目标上发生跳转,默认当前小程序,可选值self/miniProgram url 当前小程序内的跳转链 ...

  9. 全栈开发工程师微信小程序-上(下)

    全栈开发工程师微信小程序-上(下) icon 图标 success, success_no_circle, info, warn, waiting, cancel, download, search, ...

  10. 全栈开发工程师微信小程序-上(中)

    全栈开发工程师微信小程序-上(中) width: 750rpx; 750rpx代表与屏幕等宽,rpx的缩写responsive pixel,这个单位是可以根据屏幕大小进行自适应调整的像素单位. 小程序 ...

随机推荐

  1. MATLAB 使用

    MATLAB CLI 启动 MATLAB CLI 交互式界面(需要已安装 MATLAB): matlab -nodesktop -nosplash # 无桌面环境,无启动动画 不启动 MATLAB 直 ...

  2. Seata 1.3.0 ERROR i.s.c.r.n.NettyClientChannelManager -no available service 'null' found, please make sure registry config correct

    根据个人经验,报这个错误是因为nacos里并没有同步seata的config导致的 配置文档:https://www.bookstack.cn/read/seata-1.3.0/4b2f4de4831 ...

  3. Json Number Format 异常 Expected an int but was 2168520652 at line 1 column 325

    某变量声明为Integer类型,报json 转换异常 超出了Integer的最大值2147483647, 将类型修改为BigInteger即可,BigInteger:支持任意精度的整数 写Bean时, ...

  4. Vs Code, Visual Studio 2022, Angular and Live Server Running Through Https and IP Address

    前言 之前就写过 angular cli, vs code liveserver, vs 2019 iis express 10, vs code kestrel 使用 https + ip. 但写的 ...

  5. Wpf使用NLog将日志输出到LogViewer

    1 LogViewer LogViewer是通过UDP传输的高性能实时log查看器. 具有一下特性: 通过UDP读取日志 通过文件导入日志 导出日志到一个文件中 排序.过滤(日志树,日志等级)和查找 ...

  6. 非常非常好用的一款账户密码保存工具-KeePass

      非常非常好用的一款账户密码保存工具 下载地址: https://sourceforge.net/projects/keepass/files/KeePass%202.x/2.55/KeePass- ...

  7. VMware Vsphere 8.0 ESXI 主机部署

    一. VMware vSphere 8.0新特性 VMware vSphere 8.0是一个全新的版本,引入了许多新功能,其中最主要的新功能包括 1.集中式云控制台 使 IT 管理员能够借助 vSph ...

  8. Uefi ABL读取XBL设置的标志位

    PBL(启动固化程序)-> XBL(扩展引导加载程序,负责初始化芯片驱动和核心应用功能.XBL通常会加载一些平台相关的驱动程序,并提供通用接口)-> ABL(应用引导加载程序,负责引导操作 ...

  9. 将一个Eigen::Matrix中的数据(数组格式),按行写入到json文件当中.

    1.这里主要实现如何以数组的形式写入到json文件当中,因为c++的Jsoncpp库中的.append只支持一个字符的写入(还是python的json友好).去网上找了老久的解决办法,发现中文解答全是 ...

  10. python安装pandas+pytz

    如下图所示,在安装pandas的过程中,发现他还要安装pytz这个包.我不想等他自己下载,因为很容易出错,所以我就先下载了pytz这个包,然后安装完毕,再去安装pandas这个包. 首先呢先登录这个网 ...