利用现有监控如海康威视、大华等实现人体动作姿态识别应用

一、概述

现实中有很多监控场景需要识别是否有人、有多少人、以及识别这些人在做什么。比如安防行人检测、居家老人跌倒提醒等。本文提供一种行之有效的方案,利用现有的监控设备,比如海康威视,以及一部安卓手机,即可完成以上任务,而且无需开发,无太高技术要求即可落地实现。

先看识别效果:

二、材料准备

1、一个支持RTSP视频协议的监控摄像头。比如海康威视、大华、雄迈等,本文以市面上用的较多的海康监控举例。

2、安卓手机一部。比如小米、华为、ViVo等都可,硬件配置好效果更佳。

3、则视智能APP。可免费下载安装。

3、注册一个SSCloud账户(没有的话)。动作姿态配置需要登录该后台。

三、步骤

1、安装则视智能APP

 下载地址

https://sscloud.net/zfx/download/customer_action_app.apkhttps://sscloud.net/zfx/download/customer_action_app.apk

2、安装监控摄像头

参考监控厂家安装说明安装即可,无特别要求,已安装的可以直接使用。需注意的是,手机和监控设备需在同一个路由器下。

3、监控设备与APP绑定

1)台添加你的监控设备,链接如下:

标智云SSCloudhttps://sscloud.net/iot/control/rtspCamera

 填写说明:监控编号参考设备背面;监控品牌根据现场设备选择;设备名称自定义;设备用户、设备密码、RTSP端口、RTSP后缀请咨询监控厂家,比如根据海康威视RTSP推流地址rtsp://admin:12345@192.168.1.64:554/Streaming/Channels/1可知,默认用户admin,密码12345,端口554,后缀/Streaming/Channels/1;监控设备IP可以静态指定,也可以为空自动搜索;应用类别选择则视智能APP手机版。填写完成提交即可。

2)手机端拉取你的监控设备信息。如下图,摄像头选择第三方监控,点击前往设置,进入设置页后选择上一步填写的监控品牌和设备编号,再点击设备验证即可拉取监控设备信息。最后保存即可完成。

4、后台姿态动作定义

具体流程请参考:https://sscloud.net/zfx/static/I/10330/10330_1.html

5、获取识别结果

除了应界面可以看到识别结果外,还可以微信消息提醒、短信、电话提醒(比如老人跌倒)推送识别结果,如图:

 

值得一提的是微信消息提醒可以远端查看抓怕画面,这个功能比较适用。

 如果你希望结果推送到你的系统,可以在这里设置你的接口,xxxx换成:rtsp_你的应用ID

标智云SSCloudhttps://sscloud.net/people/control/peoplePublishSetting?deviceId=xxxx

四、应用拓展

可以搭配一些配套模块,比如物联网开关,通过识别结果控制开关,再驱动其他设备联动;添加物联网语音模块,可以语音播放识别结果等。这些配件可以在官网https://sscloud.net上看到。

五、总结

整个系统有以下优点:

1、利用了现有的监控设施,并提供了更多有价值人工智能服务,有很强的可行性。

2、通过APP本地完成各种动作姿态智能识别,应用可以在线、离线,满足了不同场景需求。

3、动作姿态识别自定义。用户只需要登录后台,即可在线快速完成动作姿态定义,并马上投入使用,极大增强了产品竞争力和用户体验

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于康威SDK的示例代码,可以实现打开康威相机的功能: ```c++ #include <stdio.h> #include <Windows.h> #include "HCNetSDK.h" int main() { // 初始化SDK NET_DVR_Init(); // 登录设备 NET_DVR_DEVICEINFO_V30 struDeviceInfo; LONG lUserID = NET_DVR_Login_V30("192.168.1.100", 8000, "admin", "password", &struDeviceInfo); if (lUserID < 0) { printf("Login failed, error code: %d\n", NET_DVR_GetLastError()); NET_DVR_Cleanup(); return 0; } // 打开预览 NET_DVR_PREVIEWINFO struPreviewInfo = { 0 }; struPreviewInfo.hPlayWnd = NULL; // 窗口句柄,NULL表示不需要显示图像 struPreviewInfo.lChannel = 1; // 预览通道号 struPreviewInfo.dwStreamType = 0; // 码流类型,0表示主码流,1表示子码流,2表示码流3,3表示码流4,以此类推 struPreviewInfo.dwLinkMode = 0; // 连接方式,0表示TCP方式,1表示UDP方式,2表示多播方式,3表示RTP方式,4表示RTSP方式 struPreviewInfo.bBlocked = true; // 是否阻塞,true表示阻塞,false表示非阻塞 LONG lRealPlayHandle = NET_DVR_RealPlay_V40(lUserID, &struPreviewInfo, NULL, NULL); if (lRealPlayHandle < 0) { printf("Preview failed, error code: %d\n", NET_DVR_GetLastError()); NET_DVR_Logout(lUserID); NET_DVR_Cleanup(); return 0; } // 等待用户输入任意键,停止预览并退出程序 getchar(); // 停止预览 NET_DVR_StopRealPlay(lRealPlayHandle); // 注销登录 NET_DVR_Logout(lUserID); // 释放SDK资源 NET_DVR_Cleanup(); return 0; } ``` 需要注意的是,上述代码中的IP地址、端口号、用户名和密码需要根据实际情况进行修改,另外还需要将SDK的头文件和库文件包含到项目中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值