隨著人工智能技術的不斷發展,阿里體育等IT大廠,推出的“樂動力”、“天天跳繩”AI運動APP,讓云上運動會、線上運動會、健身打卡、AI體育指導等概念空前火熱,那么,能否將這些在APP成功應用的場景搬上小程式,分享這些概念的紅利呢?本系列文章就帶您一步一步從零開始開發一個AI運動小程式,本系列文章將使用“云智AI運動識別小程式插件”,請先行在微信服務市場或官網了解詳情,
一、插件運動檢測分析的流程
1.1、相關核心命名空間
插件關于姿態、運動檢測的能力,都包含在calc和sports兩個命名空間下,其中sports命名空間下包含了所有的內置運動分析器類和運動檢測相關計時、計數的核心邏輯抽象;calc命名空間下包含了人體姿態分析的角度、垂直、水平、視角等規則計算器、姿態相似度和關鍵點追蹤等能力,sports也是基于此能力實作,
1.2、運動分析的程序
運動分析的程序,便是逐幀分析人體結果,當捕捉符合到要求的姿態動作,便觸發計時、計數回呼,UI便可以基于此回呼與用戶進行互動,
二、獲取所有的內置運動
sports.SportBase是運動分析器抽象基類,實作了基本的計數、計時邏輯,其中SPORTS靜態屬性包含了所有的插件內置運動,
const SportBase = AiSport.sports.SportBase;
console.log(SportBase.SPORTS);
//輸出結果
//0: {key: "Rope-Skipping", name: "跳繩"}
//1: {key: "Jumping-Jack", name: "開合跳"}
//2: {key: "Sit-Up", name: "仰臥起坐"}
//3: {key: "Push-Up", name: "俯臥撐"}
//4: {key: "Squat", name: "深蹲起"}
//5: {key: "Plank", name: "平板支撐"}
//6: {key: "Squat-Horse", name: "馬步蹲"}
二、創建一個指定的運動分析器
//呼叫SportBase.create靜態方法,創建一個俯臥撐運動分析器實體
const AiSport = requirePlugin("aiSport");
const SportBase = AiSport.sports.SportBase;
const sport = SportBase.create('Push-Up');
console.log(sport);
三、執行運動分析檢測
//創建俯臥撐運動分析器
const AiSport = requirePlugin("aiSport");
const SportBase = AiSport.sports.SportBase;
const sport = SportBase.create('Push-Up');
sport.onTiCK = (cnt, times) => {
console.log('運動計數變化');
console.log(cnt, times);
};
//抽幀
const context = wx.createCameraContext();
const listener = context.onCameraFrame((frame) => {
const iamge = {
width: Number(frame.width),
height: Number(frame.height),
rawData: frame.data
};
//人體識別
humanDetection.detectionAsync(image).then(human=>{
//將人體識別結果推入運動分析器
sport.pushing(human);
});
});
listener.start();
下篇將為您介紹姿態分析,敬請期待...
提供資訊系統、公眾號、小程式、APP訂制開發服務
www.yztob.com
QQ:316455841
歡迎通過各種渠道咨詢了解,免費提供資訊系統建設咨詢服務,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/553387.html
標籤:JavaScript
下一篇:返回列表
