YOLOV4视频检测并保存

YOLOV4视频检测并保存

YOLOV4用于视频检测的代码:
读取视频并检测,
显示检测后的结果,
保存检测完后的视频。

from yolo import YOLO
from PIL import Image
import numpy as np
import cv2
import time
yolo = YOLO()
# 调用摄像头
capture=cv2.VideoCapture("mp4/01.mp4") # capture=cv2.VideoCapture("1.mp4") #检测的视频路径

width = int(capture.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT))


fps = 10.0

# 创建视频
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('mp4/video_result_01.avi', fourcc=fourcc,fps=fps, frameSize=(width,height)) #保存检测视频的路径

while(True):
    t1 = time.time()
    # 读取某一帧
    ref,frame=capture.read()
    # 格式转变,BGRtoRGB
    frame = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)
    # 转变成Image
    frame = Image.fromarray(np.uint8(frame))

    # 进行检测
    frame = np.array(yolo.detect_image(frame))
    

    # RGBtoBGR满足opencv显示格式
    frame = cv2.cvtColor(frame,cv2.COLOR_RGB2BGR)

    fps  = ( fps + (1./(time.time()-t1)) ) / 2
    print("fps= %.2f"%(fps))
    frame = cv2.putText(frame, "fps= %.2f"%(fps), (0, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)

    cv2.imshow("video",frame) #显示
    
    out.write(frame) #保存视频
    
 
    c= cv2.waitKey(30) & 0xff 
    if c==27:
        capture.release()
        out.release()
        break
  • 1
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
YOLOv5 ,可以通过 `--save-txt` 参数将检测结果保存为txt文件。具体步骤如下: 1. 在终端运行以下命令进行视频检测: ``` python detect.py --source video.mp4 --weights yolov5s.pt --save-txt ``` 其,`--source` 参数指定要检测视频文件路径,`--weights` 参数指定模型权重文件路径,`--save-txt` 参数表示保存检测结果为txt文件。 2. 运行命令后,程序会自动在当前目录下生成一个名为 `inference` 的文件夹,其包含了保存检测结果txt文件。每个txt文件的文件名对应输入视频的每一帧。 例如,如果输入视频有100帧,则会生成100个txt文件,分别命名为 `frame_0.txt` 到 `frame_99.txt`。 3. 打开任何一个txt文件,可以看到该帧图像检测到的所有物体类别、置信度以及坐标信息。每一行代表一个检测框,格式为: ``` class_id confidence x_center y_center width height ``` 其,`class_id` 表示物体类别id,`confidence` 表示检测置信度,`x_center` 和 `y_center` 表示检测心点的坐标,`width` 和 `height` 表示检测框的宽度和高度。 例如,下面是一个txt文件的示例内容: ``` 0 0.99 256.5 146.5 184 216 2 0.95 614.5 285.5 94 174 ``` 表示该帧图像检测到了两个物体,一个属于类别0,一个属于类别2,置信度分别为0.99和0.95,坐标信息分别为`(256.5, 146.5)`、`(614.5, 285.5)`,宽度和高度分别为184、216和94、174。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值