`

OpenCV学习笔记2:GUI特性 -- 处理视频

阅读更多

1.捕获视频

cap = cv2.VideoCapture(xx)

arg1:设备的index或者视频文件名

之后就可以一帧一帧的捕获,最后不要忘记释放捕获的视频cap

 

2.捕获一帧

ret, frame = cap.read()

ret是返回的布尔值,是否捕获成功,frame是捕获的一个帧

有时候因为捕获未被初始化而发生错误,用cap.isOpened()来判断。如果返回False,用cap.open()来打开

 

3.捕获视频的属性

通过cap.get(propId)查看视频的属性。propId值为0~18,代表不同的属性。

通过cap.set(propId, value)来设定属性值

 

4.保存视频

cv2.VideoWriter()

arg1:保存的文件名,arg2:编码器code,arg3:每秒的帧数,arg4:每帧的size,arg5:彩色Flg(待确认)

 

 

----- sample coding -----

import cv2

 

cap = cv2.VideoCapture(0)

#定义codec

fourcc = cv2.VideoWriter_fourcc(*'XVID')

#创建VideoWriter对象

out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))

 

while True:

    # Capture frame-by-frame

    ret, frame = cap.read()

 

    #operations on the frame 

    # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # cv2.imshow('Capture Camera', gray)

 

    # write the flipped frame

    out.write(frame)

    cv2.imshow('Capture Camera', frame)

 

    # 按q键退出

    if cv2.waitKey(1) == ord('q'):

        break

 

#release the capture

cap.release()

out.release()

cv2.destroyAllWindows()

 

-- End --

分享到:
评论

相关推荐

    OpenCV学习笔记3找出人脸,同时比较两张图片中的人脸相似度.docx

    **步骤2:图像处理** - 剪切出检测到的人脸部分,存储为只包含人脸的新图片。 - 将人脸图片转换为单通道灰度图像,这是因为OpenCV的直方图比较通常在单通道图像上进行。 **步骤3:直方图比较** - 计算每个单通道...

    OpenCV笔记

    3. **丰富的功能模块**:OpenCV包含了多个模块,如图像处理、机器学习、高级GUI接口、数据结构支持等,覆盖了从底层到高层的各种需求。 4. **通用性与扩展性**:不仅提供了基础图像处理功能,还支持高级算法,如机器...

    Qt学习笔记(超详细带源码).pdf

    本篇学习笔记详细介绍了Qt的学习过程,包含了配置环境、基础概念、创建项目、常用API等方面的知识点。 ### Qt简介 - **跨平台图形界面引擎**:Qt支持多种操作系统平台,如Windows、Linux、MacOS等。 - **历史**:Qt...

    opencv:学习笔记,机器视觉,记忆交流

    总结来说,这个学习笔记将涵盖OpenCV 4.1.0的核心功能,包括图像处理、特征检测、机器学习以及与QT5.14的集成。通过实践这些知识点,你将能够构建自己的机器视觉系统,实现图像分析和处理的多样化应用。同时,记忆...

    基于Vs2008+opencv2.3.1的MFC笔记本摄像头操作

    在本项目中,我们主要探讨如何使用Visual Studio 2008(Vs2008)结合OpenCV 2.3.1库来构建一个基于MFC(Microsoft Foundation Classes)的应用程序,以便操作笔记本摄像头并执行图像处理任务,如边缘检测。...

    opencv3.2 for arm linux移植笔记

    标题《opencv3.2 for arm linux移植笔记》以及描述《opencv3.2 for arm linux移植笔记.开发板:Orangepi PC(全志H3)》揭示了文章的主题内容,该内容主要介绍了在全志H3开发板上,具体是在Orangepi PC上移植OpenCV3.2...

    Python-tkinter库学习笔记.docx

    本文将深入探讨tkinter库的学习笔记,涵盖基本概念、控件布局、常见控件的特征属性、事件响应以及更高级的应用,如添加背景图片和利用摄像头。 一、图形化界面设计的基本理解 GUI设计的核心在于通过图形元素与用户...

    python学习笔记,包含web开发和逆向、安卓逆向、验证码处理、自然语言处理(NLP)、scrapy分布式爬取等

    在"python学习笔记"中,我们可以深入探讨多个重要领域,包括Web开发、逆向工程、Android逆向分析、验证码处理、自然语言处理(NLP)以及Scrapy框架的分布式爬虫。 首先,Web开发通常涉及到构建网站和应用程序。...

    PyQt5+OpenCV调用本地摄像头并在窗口实时显示图像

    # PyQt5+OpenCV+PyCharm使用本地摄像头并实时显示图像 GUI可视化 代码内写有详细注释 包含两个demo:一个是只有实时显示摄像头图像的简单版demo,另一个是同时加入了两个按钮控制图像翻转和灰度的demo,供大家学习。

    Java+OpenCV实现人脸检测,并自动拍照

    2. **图像转换**:由于OpenCV处理的是`Mat`对象,我们需要将Java的`BufferedImage`转换为`Mat`,可以使用`ImageConverter`类完成这个转换。 3. **人脸检测**:使用`CascadeClassifier`对象加载预训练的人脸级联分类...

    若干源程序资料12.rar

    2012-06-11 21:07 172,570 uC-GUI-字体转换.rar 2012-06-11 21:11 2,872,837 vb酒店客房管理信息系统.rar 2012-06-11 21:05 161,792 vb黑客木马编程(精选大全)(免费).doc 2012-06-11 21:01 909,116 VC++动态链接库...

    C#手写识别程序源码

    在IT领域,手写识别是一种将手写字符转化为可编辑文本的技术,广泛应用于移动设备、电子笔记、表单填写等场景。本项目是基于C#编程语言实现的手写识别程序,旨在提供一种实用且易扩展的解决方案。下面将详细介绍这个...

    Codes:三方库和学习笔记

    本文将深入探讨C++中的三方库及其重要性,并结合"学习笔记"这一主题,提供一份详尽的C++三方库学习指南。 C++作为一门强大的系统级编程语言,拥有丰富的库资源,这些库涵盖了从图形用户界面到网络通信,从数据处理...

    PyQT学习资料,from git hub

    2. **新建文本文档.txt** - 这个文件可能是笔记、代码片段或其他辅助学习的文本资料。虽然标题未给出具体信息,但通常这类文档会包含开发者在学习过程中的心得、问题解决方案或示例代码。 3. **opencv-pyqt5-master...

    个人笔记本.rar python 笔记本 tkinter

    【个人笔记本】是一款基于Python编程语言的开源笔记应用...无论是学生整理学习笔记,还是专业人士记录工作事项,都能从中受益。通过深入学习和理解这些功能的实现原理,开发者可以进一步提升自己的Python GUI编程技能。

    摄像头采集程序(支持笔记本集成摄像头采集)

    标题中的“摄像头采集程序(支持笔记本集成摄像头采集)”指的是一个专为Windows操作系统设计的软件工具,用于捕获和处理来自笔记本电脑内置摄像头的视频流。这类程序通常使用计算机视觉库,如OpenCV,来访问和控制...

    基于VFW的MFC编程实现简易摄像头抓拍

    尽管现代的开发环境和库(如DirectShow、Media Foundation)提供了更强大的功能和性能,但VFW和MFC的组合仍然适用于学习基础的视频处理和了解Windows编程的原理。通过理解和实践这一技术,开发者可以更好地理解...

    MagicPT.rar

    综上所述,"MagicPT.rar"是一个集成了OpenCV和MFC的创新项目,展现了计算机视觉技术与GUI编程的融合,以及在解决拼图问题时的高效算法设计。这样的项目对于学习和研究图像处理、图形用户界面设计以及算法优化具有很...

    目标跟踪小软件

    例如,opencv_highgui249.dll、opencv_core249.dll和opencv_imgproc249.dll是OpenCV库的动态链接库文件,分别对应于高GUI模块、核心模块和图像处理模块,它们是实现目标跟踪算法的基础。这些文件版本号为2.4.9,表明...

Global site tag (gtag.js) - Google Analytics