美文网首页
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. 视频分解与合成

    本文开始机器学习部分知识的解释,以下为视频分解图片与图片合成视频的操作。 视频分解 步骤: 捕获视频并检测打开与否...

  • 合成、分解与转换

    为了有钱抄底,在买股票型基金的同时,需要准备一些现金等价物。相当于持有两个大类的东西。要做得比较好的话,时不时拆东...

  • 小船渡河问题

    今天在文科班复习到运动的合成与分解,看到小船渡河的习题,自然就以它为例子讲解合成与分解知识,也顺便把小船渡河问题复...

  • 少而精的高中物理公式及定律清单:力学

    少而精,其实并不容易做到。目前这份清单尚未完成,先占个位,再逐步完善吧。 力的分解与合成 力是矢量。其分解与合成遵...

  • 认识消化酶/酵素

    人体所有一切的合成与分解都需要消化酶/酵素来参与完成。蛋白质、脂肪、碳水化合物的分解,以及合成。体内所有毒素的分解...

  • 【王兴国营养特训班】第5期第4课3组秦玉静

    脂肪酸的合成与分解 脂肪酸的合成,在肝脏细胞的线粒体内,葡萄糖分解产生乙酰CoA,通过“柠檬酸—丙酮酸循环”运出线...

  • 【王兴国营养特训班】第5期第9课1组林秋景

    新陈代谢是机体生命活动的基本特征之一,包括合成代谢与分解代谢两个方面,合成代谢 外界摄取营养物质及分解代谢的部分产...

  • Tinker源码分析三

    Dex文件的合成与分解 一、DexPatchFile类 Dex文件分为这几个区域: StringData| Int...

  • FFmpeg 常用命令

    FFmpeg 常用命令 多路视频合成 多视频拼接合成 参考与[https://www.cnblogs.com/du...

  • 卡卡大班幼小衔接活动

    数学—4的加减法 一、分解数量是4的小动物,运用分合式统计分解结果 二、幼儿感知4的合成与分解(例如:两只小兔在草...

网友评论

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

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