百度在线手势识别

101 篇文章 9 订阅
12 篇文章 1 订阅

        最近一直在写关于Android基础控件的内容,今天我们来搞一下有趣一点的东西——百度在线手势识别。百度在线手势识别目前支持24种手势,具体有哪些,可以去官方网站查询相关的API文档。支持上传图片或者byte[]数据进行识别。那下面就来看看如何实现有趣的手势识别吧。

1,注册账号,登录控制台

我想,基本上每个开发者都有百度账号,没有的注册一个,使用该账号登录百度开发者平台中的控制台。进入之后是如下画面,并选择到“人体分析”

 

2,获取数据

选择了“人体分析”之后进入如下画面,点击红色框中的创建应用,获取APP_ID,API_KEY,SECRET_KEY

点击“创建应用”之后,需要编辑一下应用的基本信息,然后就可以获取上面的三个数据了:

 

3,SDK下载

在上面“应用列表”的左侧,我们先找到“SDK下载”选项

选择如下的SDK(java)进行下载即可

 

4,Demo编写

目前百度在线手势识别提供有免费版本,每天有50000次的免费体验,限制是并发量小于等于2,那我们编写主要还是参考上图中“使用说明”对应的文档资料。

第一步:初始化接口

client = new AipBodyAnalysis(app_id, api_key, secret_key);

其中,client就是我们的AipBodyAnalysis客户端,三个参数就是我们刚刚创建应用获取的数据。

第二步:调用接口,获取数据

//方式1 
JSONObject json = client.gesture(imagePath, new HashMap<String, String>());
//方式2
JSONObject json = client.gesture(bytes, new HashMap<String, String>());

第三步:解析数据

首先看一下数据格式:

    {
        "log_id": 4466502370458351471,
    	"result_num": 2,
    	"result": [{
    		"probability": 0.9844077229499817,
    		"top": 20,
    		"height": 156,
    		"classname": "Face",
    		"width": 116,
    		"left": 173
    	},
    	{
    		"probability": 0.4679304957389832,
    		"top": 157,
    		"height": 106,
    		"classname": "Heart_2",
    		"width": 177,
    		"left": 183
    	}]
    }

我们只需要获取“result”字段对应的数据即可,里面的“classname”字段对应的就是手势的名称。

                 JSONArray array = (JSONArray) jsonObject.get("result");
                    if (array != null && array.length() > 0) {
                        StringBuilder builder = new StringBuilder();
                        for (int i = 0; i < array.length(); i++) {
                            JSONObject json = (JSONObject) array.get(i);
                            builder.append(json.getString("classname") + ",");
                        }
                        Log.e(TAG, "识别到手势:" + builder.toString());
                    }

当然在这之前,需要把下载的jar包导入到我们的工程中。当然也可以通过其他方式添加依赖,具体参见使用说明文档(重要)

这样,我们的工作就完成了,下面看看实际的使用效果怎样。

 

Demo源码在GitHub获取内部支持每天剩余测试数据统计,识别结果预览,视频预览等功能。

注:欢迎扫码关注

### 回答1: 在物联网应用日益广泛的今天,传感器和手势识别技术的发展促使STM32基于的感应手势识别成为人们关注的焦点。STM32的感应手势识别技术基于磁感应原理和运动传感器,可以实时监测人体、物品、手势和运动的信息,可以轻松监测人体动作并进行分析、处理和识别,使设备响应更加智能化。 STM32的感应手势识别技术的主要应用领域是人机交互、智能家居、工业自动化、物联网等领域。在人机交互领域,STM32的感应手势识别技术可以实现不接触式操控,提高用户使用体验;在智能家居领域,STM32的感应手势识别技术可以实现远程控制、场景模拟等功能,提高生活质量;在工业自动化领域,STM32的感应手势识别技术可以实现生产线的自动化控制,提高生产效率;在物联网领域,STM32的感应手势识别技术可以实现互联、数据收集、分析等功能,实现更加高效、智能的管理和控制。 总之,STM32的感应手势识别技术具有前景广阔的市场和应用前景,未来将成为物联网和智能制造领域的重要技术之一。 ### 回答2: “基于STM32的感应手势识别”是一种利用STM32微控制器来实现手势识别的技术。手势识别是现代技术的一个热门领域,其应用广泛,包括智能家居、安防系统、自动驾驶等。STM32作为一款强大的微控制器,具有高性能、低功耗、丰富的外设接口等优势,非常适合用于手势识别。 为了实现基于STM32的感应手势识别,首先需要合适的感应装置。常见的感应装置包括红外传感器、光学传感器、超声波传感器等。这些感应装置可以通过测量人体动作的物理参数,如距离、速度等,来获得手势的信息。 在STM32上,需要利用相应的固件库或编程语言来开发手势识别的算法。常见的手势识别算法包括模式匹配、机器学习等。通过对感应装置采集到的手势数据进行处理和分析,可以实现手势的识别和分类。 在具体的实现过程中,可以利用STM32的GPIO接口读取感应装置的信号,并将数据通过串口或者无线通信发送到上位机进行进一步的处理。通过对手势数据进行训练和优化,可以提高识别的准确性和稳定性。 基于STM32的感应手势识别技术有很高的应用前景。它可以应用于智能家居,通过手势控制灯光、窗帘等设备的开关。在安防系统中,可以通过手势识别来判断是否有可疑人员进入。另外,在自动驾驶领域,手势识别可以帮助驾驶员进行交互操作,提高驾驶的安全性和便捷性。 总之,基于STM32的感应手势识别技术在实际应用中具有广泛的应用前景,它可以极大地方便人们的生活,提高工作效率和安全性。 ### 回答3: "基于STM32的感应手势识别"是一种利用STM32微控制器实现手势识别技术,通过感应手势信号来实现对设备的控制。 这种技术的实现主要依赖于STM32微控制器的强大处理能力和丰富的外设资源。首先,需要通过合适的传感器,如光电二极管、电容传感器等,感知到手势信号。然后,将传感器采集到的信号通过模数转换器(ADC)接口输入到STM32微控制器,进行数字化处理。 在STM32上,可以通过编程,利用数学模型和算法处理手势信号,实现手势的识别。例如,可以采用相关算法、神经网络等进行信号特征提取和模式匹配,从而识别出不同的手势。同时,还可以设定适当的阈值和规则,对噪声和误判进行滤除和纠正,增加系统的准确性和稳定性。 识别出手势后,可以通过与外设的串口、蓝牙、无线模块等通信接口进行数据传输,将手势信息传送给目标设备。目标设备可以是智能家居设备、智能手机、电脑等,通过接收到的手势信息,对设备进行相应的操作。例如,可以控制灯光的开关、音量的调节、显示内容的切换等。 "基于STM32的感应手势识别"技术具有较高的可移植性和可扩展性,可以通过增加不同类型的传感器或引入新的手势模式来实现更多功能。此外,STM32微控制器具有低功耗、高性能、低成本等优势,使得该技术在智能设备控制、智能家居等领域具有广泛应用前景。
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值