使用yolo对图片,视频,连接相机进行物体检测

最近要用yolov4进行物体检测,把其中的一些问题写下来,

首先按照要求安装yolov4需要的各种东西opencv,cudnn,cuda版本等等,去官网学习怎么安装,然后将源码下载下来编译,将makefile里要用的改为=1,然后make,下载对应的权重weight

一.终端输入命令检测:
在终端运行:以下的v3也可以用v4的权重
1.检测视频MP4或者avi
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <filename…>
2.网络相机实时检测
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights rtsp://admin:password@192.168.1.64(相机ip地址),这种方法的延迟很严重
3.检测示例图片
./darknet detect cfg/yolov3.cfg yolov3.weights data/giraffe.jpg(路径加图片名称)

二.调用Python脚本实时检测
更改darknet_video.py里的line82/83,根据需要选择是读取视频还是相机实时检测,注释不要的那一行;

运行ls /dev/video*看USB接口的相机是第几个,一般0代表
用自带Python运行检测,更改括号里面的数字,0一般代表笔记本前置摄像头,1和2代表其他相机摄像头;

如果搞不清要写几,终端运行ls /dev/video*.我的会出来/dev/video0 /dev/video1 /dev/video2
三个, 不知道为什么那么多,我把参数改为2就可以调用usb口的摄像头,但是我要连接网络相机(网线接口),暂时还没搞出来怎弄.

终端输入运行python darknet_video.py
有时候会报错,换成python3 darknet_video.py

然后也许还有错(python:10196): GStreamer-CRITICAL **: gst_caps_get_structure: assertion ‘index < GST CAPS LEN (caps)’ failed

改一下这个
给cv2.so改个名字
cd /opt/ros/kinetic/lib/python2.7/dist-packages/
sudo mv cv2.so cv2_ros.so
因为可能安装Python和cv的时候有弄混的情况,根据情况改

如果视频卡顿,更改yolov3.cfg/yolov4.cfg里的width和height,改小一点416足够(32的倍数);

Python脚本运行实时检测网络摄像头更新

用yolo实时调用海康威视云台相机进行物体检测用自带Python脚本运行
将前面的 更改darknet_video.py里的line82/83,改为
cap = cv2.VideoCapture(“rtsp://admin:password@192.168.1.64/h264/ch1/main/av_stream”)
但是实时卡顿还是很严重,好像可以通过开多个线程对数据流进行实时处理,但是我没学过Python,不会改,哪位大神可以指点一下??

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值