zoukankan      html  css  js  c++  java
  • python opencv3 视频文件的读写

     git: https://github.com/linyi0604/Computer-Vision

     1 # coding:utf8
     2 import cv2
     3 
     4 """
     5 读取视频文件的帧, 采用yuv颜色编码写入到另一个帧
     6 
     7 VideoCapture和VideoWriter用于视频文件的读写
     8 VideoCapture读的每一帧都是一个bgr格式的图像
     9 """
    10 videoCapture = cv2.VideoCapture("../data/demo3.mp4")
    11 fps = videoCapture.get(cv2.CAP_PROP_FPS)
    12 size = (
    13     int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
    14     int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT))
    15 )
    16 
    17 videoWriter = cv2.VideoWriter(
    18     "output.mp4",
    19     cv2.VideoWriter_fourcc("I", "4", "2", "0"),  # 编码器
    20     fps,
    21     size
    22 )
    23 '''
    24 编码器常用的几种:
    25 cv2.VideoWriter_fourcc("I", "4", "2", "0") 
    26     压缩的yuv颜色编码器,4:2:0色彩度子采样 兼容性好,产生很大的视频 avi
    27 cv2.VideoWriter_fourcc("P", I", "M", "1")
    28     采用mpeg-1编码,文件为avi
    29 cv2.VideoWriter_fourcc("X", "V", "T", "D")
    30     采用mpeg-4编码,得到视频大小平均 拓展名avi
    31 cv2.VideoWriter_fourcc("T", "H", "E", "O")
    32     Ogg Vorbis, 拓展名为ogv
    33 cv2.VideoWriter_fourcc("F", "L", "V", "1")
    34     FLASH视频,拓展名为.flv
    35 '''
    36 
    37 success, frame = videoCapture.read()
    38 while success:  # 循环直到没有帧了
    39     videoWriter.write(frame)
    40     success, frame = videoCapture.read()

     

  • 相关阅读:
    Unity3D笔记 英保通三 脚本编写 、物体间通信
    Unity3D笔记 英保通二
    Unity3D 面试ABC
    Unity3D 记第一次面试
    Unity3D笔记 英保通一
    (转)关于如何学好游戏3D引擎编程的一些经验
    Java_异常
    Java_多态
    Java_继承(下)
    Java_继承(上)
  • 原文地址:https://www.cnblogs.com/Lin-Yi/p/9392676.html
Copyright © 2011-2022 走看看