更新记录
1.0.0(2026-02-11)
- 单人的姿态检测和实时帧显示
平台兼容性
uni-app x(4.51)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| × | × | 7.0 | × | × | × |
其他
| 多语言 | 暗黑模式 | 宽屏模式 |
|---|---|---|
| × | × | √ |
biming-yoloSeries
基于 TensorFlow Lite Posenet 的 Android 端人体姿态识别与摄像头预览插件。支持实时姿态检测、拍照、帧截取以及静态图片识别。
平台支持
- Android
使用方式
在 uni-app x 项目中引入组件。
<template>
<view style="flex: 1;">
<biming-yoloSeries
ref="yoloRef"
defaultCamera="back"
style="width: 100%; height: 100%;"
></biming-yoloSeries>
<button @click="switchCam">切换摄像头</button>
<button @click="startDetect">开始检测</button>
<button @click="stopDetect">停止检测</button>
<button @click="takePhoto">拍照</button>
</view>
</template>
<script lang="uts">
import { Person } from 'org.tensorflow.lite.examples.posenet.lib';
export default {
methods: {
switchCam() {
(this.$refs['yoloRef'] as ComponentPublicInstance).$callMethod('switchCamera');
},
startDetect() {
(this.$refs['yoloRef'] as ComponentPublicInstance).$callMethod('startPoseDetection', (person: Person) => {
console.log("检测到人体:", person);
// person.keyPoints 包含关键点信息
});
},
stopDetect() {
(this.$refs['yoloRef'] as ComponentPublicInstance).$callMethod('stopPoseDetection');
},
takePhoto() {
(this.$refs['yoloRef'] as ComponentPublicInstance).$callMethod('captureImage', (base64: string) => {
console.log("拍照结果长度:", base64.length);
});
}
}
}
</script>
API
Props 属性
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| defaultCamera | String | 'back' | 初始摄像头位置。可选值:'back' (后置), 'front' (前置) |
Methods 方法
组件通过 expose 暴露了以下方法,可通过 ref 调用。
switchCamera()
切换摄像头(在前置、后置、外接摄像头之间循环切换)。
captureImage(callback)
拍照并获取图片的 Base64 编码。
- 参数:
callback:(base64: string) => void- 回调函数,接收图片的 Base64 字符串。
getFrameBase64(callback)
获取当前预览画面的帧数据(Base64)。
- 参数:
callback:(success: boolean, base64: string) => void- 回调函数。success: 是否获取成功。base64: 图片 Base64 字符串。
startPoseDetection(callback)
开启实时人体姿态检测。开启后,会在预览画面上绘制骨骼关键点,并持续触发回调。
- 参数:
callback:(person: Person) => void- 检测回调函数,接收Person对象。
stopPoseDetection()
停止实时姿态检测,并清除画面上的骨骼绘制。
predictBase64(src, callback)
对给定的 Base64 图片进行姿态识别(非实时流)。
- 参数:
src:string- 图片的 Base64 字符串。callback:(result: number, msg: Person) => void- 回调函数。result: 状态码,0表示成功,1表示失败。msg: 识别结果Person对象(失败时为空对象)。
数据结构
Person
识别结果对象,主要包含以下字段:
keyPoints:List<KeyPoint>- 关键点列表。score:Float- 整体置信度。
KeyPoint
关键点对象:
bodyPart:BodyPart- 身体部位枚举(如 NOSE, LEFT_EYE 等)。position:Position- 坐标位置{x, y}。score:Float- 该点的置信度。
注意事项
- 仅支持 Android 平台。
- 需确保项目已配置相机权限。
- 模型文件
posenet_model.tflite需内置在插件或相关资源路径中(插件内部已处理加载)。

收藏人数:
购买源码授权版(
试用
赞赏(0)
下载 7
赞赏 0
下载 11219984
赞赏 1858
赞赏
京公网安备:11010802035340号