文档章节

Pythone OpenCV学习笔记之:视频文件读取与保存

IOTService
 IOTService
发布于 2016/12/05 21:56
字数 166
阅读 56
收藏 1
# -*- coding: utf-8 -*-
# 读取和保存视频

import cv2 as cv
import numpy as np

def decode_fourcc(v):
    v = int(v)
    return "".join([chr((v >> 8 * i) & 0xFF) for i in range(4)])

videoCapture = cv.VideoCapture('../../datas/videos/video.avi')

#获取码率及尺寸
fs = videoCapture.get(cv.CAP_PROP_FPS)
fourccD = decode_fourcc(videoCapture.get(cv.CAP_PROP_FOURCC))
fourcc = videoCapture.get(cv.CAP_PROP_FOURCC)
size = (int(videoCapture.get(cv.CAP_PROP_FRAME_WIDTH)),
        int(videoCapture.get(cv.CAP_PROP_FRAME_HEIGHT)))
print('fs = ',fs)
print('size = ',size)
print('fourccD = ',fourccD)
print('fourcc = ',fourcc)
fourcc = cv.VideoWriter_fourcc(*'XVID')
# I420-avi, MJPG-mp4
videoWriter = cv.VideoWriter(filename='../../datas/videos/video-out.avi',
                             fourcc=fourcc,
                             fps=int(fs), frameSize=size)
img_empty = np.zeros((512,512,3),np.uint8)
while videoCapture.isOpened():
    sucess,frame = videoCapture.read()
    if sucess == True:
        gray = cv.cvtColor(frame,cv.COLOR_RGB2GRAY)
        videoWriter.write(frame)
        cv.imshow("video",frame)
        cv.imshow("video-gray",gray)
    else:
        print("read frame failed")
        cv.imshow("video",img_empty)
        #break
    key = cv.waitKey(10) & 0xFF
    if key == 27:
        break
cv.destroyAllWindows()

© 著作权归作者所有

共有 人打赏支持
IOTService
粉丝 19
博文 150
码字总数 34201
作品 0
广州
其他
私信 提问
基于OpenCV和Python的文件操作——捕获摄像头的帧,在窗口显示图像,在窗口显示摄像头帧和视频文件的读/写

0 写在前面 这篇博客主要参考资料为《OpenCV 3计算机视觉Python语言实现》(Learning OpenCV 3 Computer Vison with Python)。 因为之前用Faster R-CNN做过一个红绿灯检测的小实践,但是Git...

learning_tortosie
04/12
0
0
使用OpenCV通过摄像头捕获实时视频并探测人脸

在Opencv初接触,图片的基本操作这篇手记中,我介绍了一些图片的基本操作,视频可以看作是一帧一帧的图片,因此图片操作其实是视频操作的基础,这篇手记就来讲讲OpenCV中的视频操作,并实现一...

种子_fe
08/16
0
0
Opencv级联分类器实现人脸识别

在本章中,我们将学习如何使用OpenCV使用系统相机捕获帧。org.opencv.videoio包的VideoCapture类包含使用相机捕获视频的类和方法。让我们一步一步学习如何捕捉帧 - 第1步:加载OpenCV本机库 ...

---dgw博客
08/07
0
0
【联想】使用opencv接口进行人脸识别算法优化

一、【需求描述】 目的:使用opencv接口进行人脸识别算法优化 使用场景:通过网络摄像机使用rtsp流方式读取视频流并实时监控视频中出现的人物头像进行抓取保存 1. 要求:使用C++集成opencv进...

北京知识动力信息技术有限公司
06/04
0
0
C++ 程序使用 OpenCV 实现视频捕获

下载 Capture.zip - 14.1 KB 前言 这是一个使用 Visual C++ 窗口表单编写的简单视频捕捉应用程序。这个工程既演示了窗口表单应用程序的创建,又演示了 OpenCV 的 Visual C++ 配置。 OpenCV 是...

oschina
2014/03/10
8.5K
6

没有更多内容

加载失败,请刷新页面

加载更多

Flink-数据流编程模型

1、抽象等级 Flink提供了不同级别的抽象来开发流/批处理应用程序。 1) 低层级的抽象 最低层次的抽象仅仅提供有状态流。它通过Process函数嵌入到DataStream API中。它允许用户自由地处理来自一...

liwei2000
22分钟前
1
0
Java开发Swing实战JFrame和JTabbedPane容器的用法详细解析

概述: 项目是一个桌面程序,涉及标签和按钮组件、布局管理器组件、面板组件、列表框和下拉框组件等组件,以及Swing事件处理机制。 下面先从最基础的界面开始。 /** * @author: lishuai * @...

金铭鼎IT教育
27分钟前
7
0
flask 之旅

环境 为了正确地跑起来,你的应用需要依赖许多不同的软件。 就算是再怎么否认这一点的人,也无法否认至少需要依赖Flask本身。 你的应用的运行环境,在当你想要让它跑起来时,是至关重要的。 ...

hblt-j
27分钟前
5
0
easyui的上传文件

记录一下自己亲手操刀easyui的心得:不用不知道,一用就问题多,网上查资料,有用的真的太少了 ——————————————————正文 FileBox,还是不错的讲真,至少我去自己写就gaga了...

anlve
28分钟前
4
0
如何做好SQLite 使用质量检测,让事故消灭在摇篮里

本文由云+社区发表 SQLite 在移动端开发中广泛使用,其使用质量直接影响到产品的体验。 常见的 SQLite 质量监控一般都是依赖上线后反馈的机制,比如耗时监控或者用户反馈。这种方式问题是: ...

腾讯云加社区
31分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部