文档章节

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

IOTService
 IOTService
发布于 2016/12/05 21:56
字数 166
阅读 28
收藏 1
点赞 0
评论 0
# -*- 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
粉丝 15
博文 136
码字总数 30014
作品 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接口进行人脸识别算法优化 使用场景:通过网络摄像机使用rtsp流方式读取视频流并实时监控视频中出现的人物头像进行抓取保存 1. 要求:使用C++集成opencv进...

北京知识动力信息技术有限公司
06/04
0
0
Android opencv 2.3.1 调试及应用(第一篇)

OpenCV 是开源的人像识别库,在Android上的应用我也刚刚开始摸索。 首先搞定开发环境,看能不能把测试程序给跑起来。 http://sourceforge.net/projects/opencvlibrary/files/opencv-android...

氪金
2013/06/27
0
5
玩转智能路由器-WRTnode添加OpenCV支持

opencv libs库文件ipk编译 opencv ipk源码 利用openwrt package的编译机制仅仅需要一个Makefile即可编译opencv。 为何会如此简单神奇,下面就对Makefile详解(个人看法,欢迎指正): $vim M...

openthings
2015/03/04
0
0
OpenCV-Python(1)在Python中使用OpenCV进行人脸检测

OpenCV是如今最流行的计算机视觉库,而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头。然后我们一起来看看写一个人脸检测程序是如何地简单,简单到只需要几行代码。 在...

煎鱼不可能有BUG
05/23
0
0
在Python中使用OpenCV进行人脸检测

OpenCV是如今最流行的计算机视觉库,而我们今天就是要学习如何安装使用OpenCV,以及如何去访问我们的摄像头。然后我们一起来看看写一个人脸检测程序是如何地简单,简单到只需要几行代码。 在...

煎鱼不可能有BUG
05/17
0
0
基于opencv的摄像头脸部识别抓取及格式储存(python)

刚接触opencv,参照opencv的sample例子做了一个视频头像抓取的小代码,顺便一起学习着用,先上视频抓取及存储代码: # -- coding: cp936 --import cv2 capture=cv2.VideoCapture(0) 将captu...

Kanonpy
2014/12/10
0
17
世界上最好的语言PHP:我也可以用OpenCV搞计算机视觉

  选自Medium   作者:Vladimir Goncharov   机器之心编译   参与:Huiyuan Zhuo、思源、刘晓坤      作者 Vladimir Goncharov 平常主要关注与研究两个主题:PHP 和 Server Adm...

机器之心
06/25
0
0
基于OpenCV的iOS图像处理

关于图片处理 随着科技的发展,AI、机器学习、AR、VR等已经逐渐走进生活,模式识别、图像捕捉、图片拼接等已经成为其中的重要环节。因此,图像处理技术在未来会被移动端广泛使用。其中,有很...

无忌不悔
2017/09/06
0
0
tensorflow实现人脸检测及识别(简单版)

本教程主要是对人脸检测及识别python实现系列 及碉堡了!程序员用深度学习写了个老板探测器(付源码) 的实现。主要实现的功能是用网络摄像头自动识别在工位通道走过的人脸,如果确认是老板的...

gavinmiaoc
05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

sklearn学习笔记之简单线性回归

简单线性回归 线性回归是数据挖掘中的基础算法之一,从某种意义上来说,在学习函数的时候已经开始接触线性回归了,只不过那时候并没有涉及到误差项。线性回归的思想其实就是解一组方程,得到...

wangxuwei
6分钟前
0
0
feign之动态interceptor(二)

背景 上文提到了按照不同的feignClient可以根据多个不同的key来进行多个不同的bean的配置 那么我们如何完成多个interceptor的配置呢? 分析 我们刚提到多个配置的玄机就在FeignClientProper...

Mr_Qi
8分钟前
1
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

问题终结者
32分钟前
0
0
Apache配置时.htaccess失效不起作用的原因分析

.htaccess 失效的原因 1. 重写规则有问题,检查自己的重写规则 2.Apache配置问题,配置中没有配置启用 rewrite a2enmod rewrite 3.网站配置文件没有启用配置需要配置 000-default.conf <Dire...

TU-DESGIN
52分钟前
1
0
两个求最大公约数C/C++算法实现

#include<stdio.h> #include<time.h> #include <iostream>using namespace std;//求最大公约数 LCD(Largest Common Division)//短除法 //m=8251, n=6105; int LCD_ShortDiv(int m, ......

失落的艺术
58分钟前
1
0
QueryPerformanceCounter

windows的Sleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。 对于微秒延时,没有一个现成的函数,但是可以通过 QueryPerformanceFrequency QueryPerformanceCounter 来间接实现。原理就是...

开飞色
今天
1
0
log4j2使用AsyncRoot不显示行号问题处理

<AsyncRoot level="info" includeLocation="true"> <AppenderRef ref="File"/></AsyncRoot><!--1.异步logger,还需要在pom.xml中添加disruptor的依赖。2.includeLocation结合异......

小翔
今天
3
0
安卓手机上 K 歌,声音延迟怎么解决?

这篇文章可以为你提供一个解决录音和播放同步问题的思路,而且解决了声音从手机传输到耳机上有延时的问题。 初识音频 在开始之前,我先简单介绍一下音频相关的基础知识,方便下文理解。 我们...

编辑部的故事
今天
2
0
使用token实现在有效期内APP自动登录功能

使用token实现在有效期内APP自动登录功能 http://sevennight.cc/2016/07/19/auto_login_impl.html

风云海滩
今天
3
0
Spring Boot集成RabbitMQ发送接收JSON

默认情况下RabbitMQ发送的消息是转换为字节码,这里介绍一下如何发送JSON数据。 ObjectMapper 最简单发送JSON数据的方式是把对象使用ObjectMapper等JSON工具类把对象转换为JSON格式,然后发送...

小致dad
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部