zoukankan      html  css  js  c++  java
  • [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?(视频教程)

  • 相关阅读:
    第五周任务以及结对编程
    “爆打”团队阿尔法发布 以及 第四周任务
    第三周内容
    爆打第一次站立会议
    3.23日PSP
    NABCD模型
    个人对结对编程的体会
    Fantacy团队第一次站立会议
    图形设想(简图)
    3月20日随笔
  • 原文地址:https://www.cnblogs.com/zlc364624/p/12715661.html
Copyright © 2011-2022 走看看