zoukankan      html  css  js  c++  java
  • 将位于同一文件夹中的多个视频中的图片保存在一个文件夹中

    # -*- coding: utf-8 -*-
    """
    Created on Tue Sep 11 16:35:29 2018
    
    @author: 车路历程
    """
    import cv2
    from skimage import io
    import os
    
    # 视频所在文件夹的路径位置
    videos_path = 'F:/self/0'
    
    # 从视频文件夹中获取各个视频的名字
    videos_name = os.listdir(videos_path)
    
    # 视频帧图片的起始编号
    a = 0
    
    # 遍历所有的视频
    for i in videos_name:
        # 获取每个视频的路径
        video_path = os.path.join(videos_path, i)
        # 如果遇见文件夹就跳过
        if os.path.isdir(video_path):
            continue
        
        camera = cv2.VideoCapture("E:/video/7.mp4") # 参数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
            
            # 将彩色图片转化为灰度图
            gray_lwpCV = cv2.cvtColor(frame_lwpCV, cv2.COLOR_BGR2GRAY)
            
            # 进行滤波处理
            gray_lwpCV = cv2.GaussianBlur(gray_lwpCV, (21, 21), 0)
            
            # 保存图片
            io.imsave("E:/all_picture/final_picture/%s-0.jpg"%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()
  • 相关阅读:
    Pycharm快捷键【mac版】
    程序解数独
    c++ map
    c++ vector 初始化二维数组
    二进制求和
    数组形式的加一
    坑题:最后一个单词的长度
    最大子序和:dp
    外观数列
    双指针消重复项
  • 原文地址:https://www.cnblogs.com/czz0508/p/10429369.html
Copyright © 2011-2022 走看看