zoukankan      html  css  js  c++  java
  • 将一个文件夹中多个视频的视频帧保存在多个文件夹下

    # -*- coding: utf-8 -*-
    """
    Created on Mon Feb 25 10:21:18 2019
    
    @author: 车路历程
    """
    import cv2
    from skimage import io
    import os
    
    # 视频所在文件夹的路径位置
    videos_path = 'F:/workit/videos'
    
    # 从视频文件夹中获取各个视频的名字
    videos_name = os.listdir(videos_path)
    
    # 视频帧图片的起始编号
    a = 0
    
    # 遍历所有的视频
    for j, i in enumerate(videos_name):
        # 以下两行代码的作用是为每段视频帧创建一个文件夹
        path = 'F:/workit/picture/picture_%s'%(j+1)
        os.makedirs(path)
        # 获取每个视频的路径
        video_path = os.path.join(videos_path, i)
        # 如果遇见文件夹就跳过
        if os.path.isdir(video_path):
            continue
        
        camera = cv2.VideoCapture(video_path) # 参数0表示第一个摄像头
    
        # 判断视频是否打开
        if (camera.isOpened()):
            print('Open')
        else:
            print('摄像头未打开')
        
        # 测试用,查看视频size
        size = (int(camera.get(cv2.CAP_PROP_FRAME_WIDTH)),
                int(camera.get(cv2.CAP_PROP_FRAME_HEIGHT)))
        print('size:'+repr(size))
        
        while True:
            # 读取视频流
            grabbed, frame_lwpCV = camera.read()
            # 当从视频中读取不到视频帧就退出
            if frame_lwpCV is None:
                break
            
            # 保存图片
            io.imsave("F:/workit/picture/picture_%s/%s.jpg"%(j+1, a), frame_lwpCV)
            a += 1
            
            # 显示图片
            cv2.imshow('contours', frame_lwpCV)
         
            key = cv2.waitKey(1) & 0xFF
            # 按'q'健退出循环
            if key == ord('q'):
                break
        
    # When everything done, release the capture
    camera.release()
    cv2.destroyAllWindows()
  • 相关阅读:
    android 2.3 bug android 4.x bug
    设计高性能CSS3动画的几个要素
    开启硬件加速 解决页面闪白 保证动画流畅
    取消input在ios下,输入的时候英文首字母的默认大写 android 上去掉语音输入按钮
    JS中的类型检测
    CSS的一点知识
    HTML Canvas
    HTML DOM Table 对象
    只是有所了解的语言
    骑士巡游问题
  • 原文地址:https://www.cnblogs.com/czz0508/p/10444154.html
Copyright © 2011-2022 走看看