美文网首页
57. 视频分解与合成

57. 视频分解与合成

作者: 十里江城 | 来源:发表于2019-11-13 09:46 被阅读0次

    本文开始机器学习部分知识的解释,以下为视频分解图片与图片合成视频的操作。

    视频分解

    步骤:

    • 捕获视频并检测打开与否
    • 获取视频帧率等信息
    • 读取每一帧
    • 将图片按序按帧率存(读)为jpg文件
    import cv2
    
    # 1 捕获视频并检测打开与否
    cap = cv2.VideoCapture('1.mp4')
    # 检测是否打开
    isOpened = cap.isOpened
    print('isOpened: ', isOpened)
    
    # 2 获取视频帧率等信息
    # 帧率:表示一秒钟可以打开的图片个数
    fps = cap.get(cv2.CAP_PROP_FPS)
    width = (cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    height = (cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
    print('fps, width, height: ', fps, width, height)
    
    i = 0
    while(isOpened):
        # 最多保存十张图片 fps=24
        if i == 30:
            break
        else:
            i += 1
            
        # 3 读取每一帧 flag:是否成功 frame:图片内容
        (flag, frame) = cap.read()
        
        # 4 将图片按序按帧率存为jpg文件   
        # 定义30张图片的文件名
        fileName = 'image' + str(i) + '.jpg'
        print('fileName: ', fileName)
        if flag == True:
            cv2.imwrite(fileName, frame, [cv2.IMWRITE_JPEG_QUALITY, 100])
            
    print('end!')
    
        
        
    

    状态与帧率等信息和分解结果如下:


    状态和帧率等信息 分解出的部分图片

    视频合成

    步骤:

    • 获取图片维度信息
    • 创建视频写入对象
    • 将读入的图片写入视频
    • 释放videoWriter结束视频制作
    # 图片合成视频
    import cv2
    
    # 1 获取图片维度信息
    img = cv2.imread('image1.jpg')
    imgInfo = img.shape
    # 分别表示行(高度) 列(宽度)
    size = (imgInfo[1], imgInfo[0]) 
    print('size: ', size) 
    
    # 2 创建视频写入对象
    # 视频写入对象 参数:  编码器: cv2.VideoWriter_fourcc(*'XVID')  帧率:25  文件大小: size  
    videoWriter = cv2.VideoWriter('new1.mp4', cv2.VideoWriter_fourcc(*'XVID'), 25, size)
    
    # 3 将读入的图片写入视频
    for i in range(1, 31):
        # 读入图片     
        img = cv2.imread('image' + str(i) + '.jpg')
        # 视频写入
        videoWriter.write(img) 
        
    # 4 释放videoWriter结束视频制作
    videoWriter.release()
    
    print('end!')
                               
    

    图片维度信息如下:


    image.png

    创建的视频信息如下,其中维度与上述读入原始图片的维度一致:


    image.png

    相关文章

      网友评论

          本文标题:57. 视频分解与合成

          本文链接:https://www.haomeiwen.com/subject/ppxhictx.html