通过杰森-纳米进行实时物体计数

60 阅读1分钟
  • 物体计数的交叉区域
  • 基础布局Bootstrap
  • 布局--生活流
    • 开始和停止流媒体
    • 重置计数器
    • 改变计数器模式
  • 将flask应用作为Systemd服务运行

1.对象计数交叉区

  • 新模式、multiline

  • 用Abble来附加多条线作为计数交叉区。

  • 只要定义counter = Counter(classes, mode='multiline', lines=lines)

  • 并在创建counter 对象之前使用lines.append() 添加多条连线、

  • 运行object_counter/object_counting_flask_async.py

    python3 object_counter/object_counting_flask_async.py
    

2.基础布局Bootstrap

  • 线框UI

    • 主屏幕: image.png
  • 项目目录:

    • base_layout/
  • 运行应用程序:

    python3 base_layout/app.py
    
  • 布局:

image.png


3.布局--Livestream(第一部分)

  • 与对象检测服务合并

  • 项目目录 :

    • layouting_livestream/
  • 运行应用程序:

    python3 layouting_livestream_p1/app.py
    
  • 布局 :

image.png


4.布局--Livestream(第2部分)

  • 添加控制按钮

  • 项目目录 :

    • layouting_livestream/
  • 运行应用程序:

    python3 layouting_livestream_p2/app.py
    

5.布局--Livestream(第4部分)

  • 添加卡片输出

  • 项目目录:

    • layouting_livestream/
  • 运行应用程序:

    python3 layouting_livestream_p3/app.py
    
  • Layout :

image.png


6.将Flask应用作为systemd服务运行

  • 使用nano编辑器创建systemd服务,名称为object-counter.service
sudo nano /lib/systemd/system/object-counter.service
  • 粘贴以下systemd配置、
[Unit]
Description=Object Counter Service
After=multi-user.target

[Service]
WorkingDirectory=<directory location of app.py>
User=<jetson nano user>
Type=idle
ExecStart=/usr/bin/python3 layouting_livestream_p3/app.py
Restart=always

[Install]
WantedBy=multi-user.target
  • User=<jetson nano user> 改为你的 jetson nano 用户。
  • WorkingDirectory=<directory location of app.py> 改为目录位置、
  • 使用 CTRL + X 和 CTRL + Y 关闭并保存。
  • 运行下面的命令来激活服务、
sudo systemctl daemon-reload
sudo systemctl enable object-counter.service
sudo systemctl start object-counter.service
  • 检查服务状态、
sudo systemctl status object-counter.service
  • 限制服务、
sudo systemctl restart object-counter.service
  • 停止服务、
sudo systemctl stop object-counter.service