景区行人检测人流量数据分析程序仅在网页开启时生效,如何优化?
【摘要】 我们已经将我们自主开发的行人分析检测功能与某景区的票务系统进行了对接,并且运行测试了程序。在投入使用之前,我们在内部也对行人检测功能做了测试,测试时发现分析人流数据程序仅在网页开启时生效。
我们已经将我们自主开发的行人分析检测功能与某景区的票务系统进行了对接,并且运行测试了程序。在投入使用之前,我们在内部也对行人检测功能做了测试,测试时发现分析人流数据程序仅在网页开启时生效。
启动Python程序,将RTSP设置进去,设置一个程序的端口号,使用Python命令工具启动分析检查人流量,在网页打开如下图,能够正常对人流量进行检测和分析:

但是将网页关闭就会出现程序行人分析停止,程序控制台出现“Stopping camera thread due to inactivity.”的报错,也不会打印统计的数据。

但我们发现程序没有显示红色的错误,说明程序不是崩溃导致的停止。然后在项目中搜索停止的关键字:“Stopping camera thread due to inactivity.”,搜索结果在“base_camera.py”文件中里面有程序输出的关键字。

此程序判断的意思是:在没有任何客户端请求的时候,在最后10秒钟停止线程的操作。所以此段代码是关键,将数据返回给客户端请求,只要没有客户端请求程序分析也会终止。
所以在不影响程序问题的前提下,只需要将以下代码删除:
if time.time() - BaseCamera.last_access > 10:
frames_iterator.close()
print('Stopping camera thread due to inactivity.')
break
删除过后再进行测试。首先打开一个网页客户端,分析的画面也会正常显示,再将网页的客户端关闭,也就是不请求,此修改过后的程序也会正常分析和打印分析过后的数据。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)