Pytorch版 YOLO v3,中的视频保存

本文介绍如何使用YOLOv3进行视频的目标检测,并针对运行视频文件后无法保存处理结果的问题提供了解决方案。通过修改video.py文件,利用OpenCV库成功实现了视频的保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学YOLOv3

YOLOv3, 于是看 “从零开始PyTorch项目:YOLO v3目标检测实现”

英文原版:https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/

网上也有许多翻译

原版教程中的github项目地址 https://github.com/ayooshkathuria/YOLO_v3_tutorial_from_scratch

遇到的问题:用YOLOv3 运行视频文件,处理后的视频没有保存

解决办法:修改video.py 文件,用opencv,保存视频文件

详细步骤:

1. 在while循环前添加

fourcc = cv2.VideoWriter_fourcc('M','J','P','G')
fps = 24
savedPath = 'saveVideo.avi'  # 保存地址
ret, frame = cap.read()
videoWriter = cv2.VideoWriter(savedPath, fourcc, fps,(frame.shape[1], frame.shape[0])) # 最后为视频图片的形状

while cap.isOpened():
    ret, frame = cap.read()
    
    if ret:   

        ## 中间省略,之后修改部分都有注释

    list(map(lambda x: write(x, frame), output))
    
    cv2.imshow("frame", frame)
    videoWriter.write(frame)           # 每次循环,写入该帧

    key = cv2.waitKey(1)
    if key & 0xFF == ord('q'):
        break
    frames += 1
    print(time.time() - start)
    print("FPS of the video is {:5.2f}".format( frames / (time.time() - start)))
else:
    videoWriter.release()              # 结束循环的时候释放
    break    

 

不过这么写,相当于扔了视频第一frame,强迫症患者,可以优化一下。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值