• [python]Python+Opencv实现把图片、视频互转


    1. 安装Opencv包

      可以尝试安装anaconda,参考:如何安装Python运行环境Anaconda?(视频教程)

      或者

       $ pip install opvencv-python 

    2.实现代码:

      视频转为图片:

    import cv2
    cap=cv2.VideoCapture('E:/video/video-02.mp4') # 获取一个视频打开cap
    isOpened=cap.isOpened # 判断是否打开
    print(isOpened)
    fps=cap.get(cv2.CAP_PROP_FPS)
    print(fps)
    # 获取宽度
    width=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    # 获取高度
    height=int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
    i=0
    while(isOpened):
        # 保存前十帧
        if i==10:
            break
        else:
            i+=1
        (flag,frame)=cap.read() # 读取每一帧,一张图像flag 表明是否读取成果 frame内容
        fileName='E:/video/image'+str(i)+'.jpg'
        print(fileName)
        # flag表示是否成功读图
        if flag==True:
            # 控制质量
            cv2.imwrite(fileName,frame,[cv2.IMWRITE_JPEG_QUALITY,100])
    print('end!')

      图片保存为视频:

    import os
    import cv2
    import numpy as np
    
    path = 'E:/video/img'
    filelist = os.listdir(path)
    #fourcc = cv2.cv.CV_FOURCC('M','J','P','G') #opencv版本是2
    fourcc = cv2.VideoWriter_fourcc(*'XVID') #opencv版本是3
    
    fps = 5  # 视频每秒24帧
    size = (1920, 1080)  # 需要转为视频的图片的尺寸
    # 可以使用cv2.resize()进行修改
    
    video = cv2.VideoWriter('E:/video/2.avi', fourcc, fps, size)
    # 视频保存在当前目录下
    
    for item in filelist:
        if item.endswith('.jpg'):
            # 找到路径中所有后缀名为.png的文件,可以更换为.jpg或其它
            item = path + item
            img = cv2.imread(item)
            video.write(img)
    video.release()
    cv2.destroyAllWindows()

    如何安装Python运行环境Anaconda?(视频教程)

  • 相关阅读:
    UIWebView的高度不对问题
    SQL --分组【Group By】
    SQL--Order By
    SQL--空值处理
    SQ--模糊查询
    SQL 聚合函数
    SQL 语句的TOP,Distinct语句
    SQL约束
    1 翻译系列:什么是Code First(EF 6 Code First 系列)
    终极版:由简单工厂模式,升级到抽象工厂模式(用到反射)
  • 原文地址:https://www.cnblogs.com/zlc364624/p/12715661.html
Copyright © 2020-2023  润新知