• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python+opencv实现视频抽帧示例代码

    1、数据集简述:

           虽然有主流庞大的COCO、VOC数据集,但是科研人员仍需要特殊领域要求的数据集,所以采用人工实地采集的方式进行收集数据集图像;通过拍照收集图像过于繁琐,所以通常是将摄像头无规则的移动旋转以及远近拉缩,进而录制视频;再通过视频抽帧的方式得到大量的图像,再将这些图像进行人工标注处理。

            博主通过一个水下录制视频为例子,当这类图像在网上鲜有存在时,要求有关技术人员进行实拍采集,下图即为采集得到的视频。

            为了避免不符合项目要求的数据增强,博主要求技术人员在录制视频时最大程度地让摄像头进行移动、旋转以及远近调节等;这样抽帧后的图像更具有泛化性

    2、代码介绍:

    下面是采用以帧数为间隔的方法进行视频抽帧,博主个人认为这样子的方式调节间隔更加方便,更符合个人习惯。

    import cv2
    from PIL import Image
    import numpy as np
    
    
    cap = cv2.VideoCapture("D:/Download/ANMR0005.mp4")  # 获取视频对象
    isOpened = cap.isOpened  # 判断是否打开
    # 视频信息获取
    fps = cap.get(cv2.CAP_PROP_FPS)
    
    imageNum = 0
    sum=0
    timef=15  #隔15帧保存一张图片
    
    while (isOpened):
    
        sum+=1
    
        (frameState, frame) = cap.read()  # 记录每帧及获取状态
    
        if frameState == True and (sum % timef==0):
    
            # 格式转变,BGRtoRGB
            frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
            # 转变成Image
            frame = Image.fromarray(np.uint8(frame))
    
            frame = np.array(frame)
    
            # RGBtoBGR满足opencv显示格式
            frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
    
            imageNum = imageNum + 1
            fileName = 'D:/Download/video_image/image' + str(imageNum) + '.jpg'  # 存储路径
            cv2.imwrite(fileName, frame, [cv2.IMWRITE_JPEG_QUALITY, 100])
            print(fileName + " successfully write in")  # 输出存储状态
    
        elif frameState == False:
            break
    
    print('finish!')
    cap.release()

    3、代码效果:

    pycharm运行py文件后结果框显示的内容:

    视频抽帧得到的图像保存至指定的文件夹:

    抽帧得到的图片示例:

     

    4、相关说明: ①本代码依据录制视频、对opencv的理解以及大佬的项目代码灵感进行编写;

    大佬的项目代码地址

    ②本数据集属于私人闭源,不公开。

    到此这篇关于python+opencv实现视频抽帧的文章就介绍到这了,更多相关python opencv视频抽帧内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 使用python-opencv读取视频,计算视频总帧数及FPS的实现
    • Python OpenCV视频截取并保存实现代码
    • 使用Python opencv实现视频与图片的相互转换
    • Python+OpenCV+pyQt5录制双目摄像头视频的实例
    • python+opencv打开摄像头,保存视频、拍照功能的实现方法
    • python opencv读mp4视频的实例
    • Python OpenCV获取视频的方法
    上一篇:用Python将GIF动图分解成多张静态图片
    下一篇:用Python创建简易网站图文教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python+opencv实现视频抽帧示例代码 python+opencv,实现,视频,抽帧,