当前位置: 首页 > news >正文

提示危险网站制作一个网站步骤

提示危险网站,制作一个网站步骤,推广平台的句子,做一个app开发多少钱《数字图像处理-OpenCV/Python》连载(7)视频文件的读取与保存 本书京东优惠购书链接:https://item.jd.com/14098452.html 本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html 第1章 图像的基本操作 为…

《数字图像处理-OpenCV/Python》连载(7)视频文件的读取与保存


本书京东优惠购书链接:https://item.jd.com/14098452.html
本书CSDN独家连载专栏:https://blog.csdn.net/youcans/category_12418787.html

在这里插入图片描述


第1章 图像的基本操作

为了方便初学者从零开始学习OpenCV-Python,本书从图像的读取、保存和显示等基本操作开始介绍,使读者可以循序渐进地使用和理解本书的每一个例程。


1.4 视频文件的读取与保存

视频文件是由一系列图像组成的,视频的每一帧都是一幅图像。

OpenCV中的VideoCapture类和VideoWriter类处理视频流,既可以处理视频文件,也可以处理摄像头设备。

VideoCapture类用于读取视频文件、视频流或从摄像头捕获视频;VideoWriter类用于视频文件的写入和保存。在Python语言中,可通过函数cv.VideoCapture和cv.VideoWrite实现类的初始化。

函数原型

cv.VideoCapture( index[, apiPreference] ) → <VideoCapture object>
cv.VideoCapture(filename[, apiPreference]) → <VideoCapture object>
cv.VideoWriter([filename, fourcc, fps, frameSize[, isColor]]) → <VideoWriter object>


参数说明

  • index:摄像头的ID编号,index=0表示默认后端打开了摄像头。
  • filename:读取或保存视频文件的路径,包括文件扩展名。
  • apiPreference:读取视频流的属性设置。
  • fourcc:用于压缩帧的编码器/解码器的字符代码。
    • CV_FOURCC(‘I’,‘4’,‘2’,‘0’):未压缩的YUV编码格式,扩展名为.avi。
    • CV_FOURCC(‘P’,‘I’,‘M’,‘1’):MPEG-1编码格式,扩展名为.avi。
    • CV_FOURCC( ‘X’,‘V’,‘I’,‘D’):MPEG-4编码格式,扩展名为.avi。
    • CV_FOURCC( ‘F’,‘L’,‘V’,‘I’):Flash编码格式,扩展名为.flv。
  • fps:表示视频流的帧速率。
  • frameSize:元组 (w,h),表示视频帧的宽度和高度。
  • isColor:布尔类型,表示是否为彩色图像。

成员函数

  • cv.VideoCapture.isOpened():检查视频捕获是否初始化成功。
  • cv.VideoCapture.read():读取视频文件、视频流或捕获的视频设备。
  • cv.VideoCapture.release():关闭视频文件或设备,释放对象。
  • cv.VideoCapture.get(propId) :获取VideoCapture类对象的属性。
  • cv.VideoCapture.set(propId, value):设置VideoCapture类对象的属性。
  • cv.VideoWriter.fourcc(c1, c2, c3, c4[, ]):构造编码器/解码器的fourcc代码。
  • cv.VideoWriter.write(image[, ]):写入下一帧视频。
  • cv.VideoWriter.release():关闭视频写入,释放对象。

注意问题

(1) 在读取视频文件或视频流时,可通过filename指定视频文件或视频流的路径。在使用摄像头时,可通过index定义摄像头的ID编号。
(2) 使用摄像头设备时,index=0表示默认从后端打开摄像头,如笔记本内置摄像头,支持计算机内置或外接的摄像头,也支持本地网络或公共网络的IP摄像头。
(3) 视频写入类VideoWriter的参数frameSize是元组(w,h),即视频帧的宽度和高度,而OpenCV图像的形状表示为(h,w),注意二者的顺序相反。
(4) 视频处理过程较为复杂,一些程序设置与具体系统环境有关,本节只介绍基本的成员函数和通用的处理方法。更多内容详见OpenCV说明文档(链接1-1)。
(5) 视频处理过程中的很多问题都会涉及计算机和摄像机的硬件设备及设置,需要结合具体系统和环境来分析。建议读者参考【例程0106】和【例程0107】,先确认视频读取和设备捕获环境的配置是否正确,再调试和运行其他的视频处理程序。


【例程0106】视频文件的读取、播放和保存

本例程能读取和播放视频文件,并可每隔若干帧抽取一帧,保存为新的视频文件。

读取视频文件的基本步骤如下。
(1) 创建视频,读取/捕获对象。
(2) 逐帧获取视频图像。
(3) 检查获取图像帧是否成功。
(4) 释放视频,读取/捕获对象。

保存视频文件的基本步骤如下。
(1) 设置写入视频的格式和参数。
(2) 创建视频写入对象。
(3) 逐帧写入图像。
(4) 释放视频写入对象。


# 【0106】视频文件的读取、播放和保存
import cv2 as cvif __name__ == '__main__':# 创建视频,读取/捕获对象vedioRead = "../images/vedioDemo1.mov"  # 读取视频文件的路径capRead = cv.VideoCapture(vedioRead)  # 实例化 VideoCapture 类# 设置写入视频图像的高、宽、帧速率和总帧数width = int(capRead.get(cv.CAP_PROP_FRAME_WIDTH))  # 960height = int(capRead.get(cv.CAP_PROP_FRAME_HEIGHT))  # 540fps = round(capRead.get(cv.CAP_PROP_FPS))  # 30frameCount = int(capRead.get(cv.CAP_PROP_FRAME_COUNT))  # 1826print(height, width, fps, frameCount)# 创建视频写入对象# fourcc = cv.VideoWriter_fourcc('X', 'V', 'I', 'D')  # 编码器设置为 XVIDfourcc = cv.VideoWriter_fourcc(*'XVID')  # 'X','V','I','D' 简写为 *'XVID'vedioWrite = "../images/vedioSave1.avi"  # 写入视频文件的路径capWrite = cv.VideoWriter(vedioWrite, fourcc, fps, (width, height))# 读取视频文件,抽帧写入视频文件frameNum = 0  # 视频帧数初值timef = 30  # 设置抽帧间隔while capRead.isOpened():  # 检查视频捕获是否成功ret, frame = capRead.read()  # 读取下一帧视频图像if ret is True:frameNum += 1  # 读取视频的帧数cv.imshow(vedioRead, frame)  # 播放视频图像if (frameNum % timef == 0):  # 判断抽帧条件capWrite.write(frame)  # 将当前帧写入视频文件if cv.waitKey(1) & 0xFF == ord('q'):  # 按 'q' 键退出breakelse:print("Can't receive frame at frameNum {}".format(frameNum))breakcapRead.release()  # 关闭读取视频文件capWrite.release()  # 关闭视频写入对象cv.destroyAllWindows()  # 关闭显示窗口

在这里插入图片描述

在这里插入图片描述


本书京东优惠购书链接:https://item.jd.com/14098452.html


版权声明:
youcans@xupt 原创作品,转载必须标注原文链接:(https://blog.csdn.net/youcans/article/details/132969247)
Copyright 2023 youcans, XUPT
Crated:2023-09-18

欢迎关注本书CSDN独家连载专栏
《数字图像处理-OpenCV/Python》连载: https://blog.csdn.net/youcans/category_12418787.html

http://www.dt0577.cn/news/37508.html

相关文章:

  • 视屏网站的审核是怎么做的网站推广平台排行
  • 贵州省住房和城乡建设官方网站怎样推广app
  • 兼职网站建设推广人才南昌网站优化公司
  • 佛山建设工程信息网站优化大师是干什么的
  • 能推广的平台有哪些网站seo是干什么的
  • 学设计在哪学杭州seo网站推广排名
  • 网站给篡改了要怎么做安装百度
  • 青岛网站开发中心北京seo平台
  • 中国黄页电话号码查询天津关键词优化平台
  • 中企做的网站太原百度网盘网页版登录入口
  • 无锡新吴区建设局网站关键词竞价排名是什么意思
  • html5旅游网站源码教育机构
  • wordpress中文站点网络营销价格策略有哪些
  • 保定哪做网站好seo网站优化快速排名软件
  • 做交易网站需要办什么证线下推广宣传方式有哪些
  • 如何推广自己的店铺?seo在线网站推广
  • 广州做外贸网站的公司广东近期新闻
  • 网站建设行业赚钱么大连做优化网站哪家好
  • 网站建设 工作方案识图搜索在线 照片识别
  • 那些语言可以建网站网络营销做得好的品牌
  • 东台网页定制长沙seo咨询
  • 莱芜二手房seo外包如何
  • 网站设计的设计方案太原seo排名优化公司
  • 网站运营做网页设计网站收录查询
  • 滨海新网站建设seo怎么发外链的
  • 深圳专业做网站排名多少钱微信营销平台
  • 长寿网站建设公司微商怎么引流被加精准粉
  • 做金融服务网站赚钱免费手游推广代理平台渠道
  • 嘿客免费网站建设如何快速搭建网站
  • 有没有做京东客好的网站推荐搜索引擎推广法