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()

     

  • 相关阅读:
    完全背包 基础
    hdoj_2546饭卡(强忍悲痛,好好写题解)
    蓝桥杯--猜字母 学到了!
    Common Subsequence
    Ansible ad-hoc 手册(3)
    ansible playbook 以及变量(2)
    Ansible安装以及常用模块操作(1)
    zabbix3.4自定义触发器(4)
    zabbix3.4自定义监控项(3)
    zabbix3.4监控一台主机(2)
  • 原文地址:https://www.cnblogs.com/Lin-Yi/p/9392676.html
Copyright © 2011-2022 走看看