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

网站备案密码找回石家庄核酸机构造假视频

网站备案密码找回,石家庄核酸机构造假视频,wordpress社区插件,深圳手机商城网站设计公司【1】引言 上一次课学习了用opencv读取图像,掌握了三个函数:cv.imread()、cv.imshow()、cv.imwrite() 相关链接如下: python学opencv|读取图像-CSDN博客 这次课我们继续,来学习用opencv读取视频。 【2】学习资源 首先是官网…

【1】引言

上一次课学习了用opencv读取图像,掌握了三个函数:cv.imread()cv.imshow()cv.imwrite()

相关链接如下:

python学opencv|读取图像-CSDN博客

这次课我们继续,来学习用opencv读取视频。

【2】学习资源

首先是官网资源,查看下述代码:

OpenCV: Getting Started with Videos

然后是对应的中文版博客资源,查看下述链接:

2. GUI 功能 - 视频入门 - 《OpenCV 中文文档 4.0.0》 - 书栈网 · BookStack

这两个内容基本上是一模一样,所以按照自己的喜好选用即可。

这次课程的学习目的是掌握视频的读取和保存,涉及两个函数:

cv.VideoCapture()cv.VideoWriter()

【3】函数解读

【3.1】cv.VideoCapture()函数

点击下述链接,直达官网解读页面:

https://docs.opencv.org/4.0.0/d8/dfe/classcv_1_1VideoCapture.html

这里的核心意思也很简单:Class for video capturing from video files, image sequences or cameras.

简而言之就是:从视频文件、系列图片或者照相机中读取视频。

【3.2】cv.VideoWrite()函数

点击下述链接,直达官网解读页面:

OpenCV: cv::VideoWriter Class Reference

核心意思:Video writer class.

简而言之就是:保存视频。

【4】 代码解读 

在上述解读的基础上,我们尝试理解代码。

书栈网2. GUI 功能 - 视频入门 - 《OpenCV 中文文档 4.0.0》 - 书栈网 · BookStack提供了非常简洁的代码,我们对其解读:

    import numpy as npimport cv2 as cvcap = cv.VideoCapture(0)while(True):# 一帧一帧捕捉ret, frame = cap.read()# 我们对帧的操作在这里gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)# 显示返回的每帧cv.imshow('frame',gray)if cv.waitKey(1) & 0xFF == ord('q'):break# 当所有事完成,释放 VideoCapture 对象cap.release()cv.destroyAllWindows()

首先是引入计算和opencv模块:

import numpy as np #引入计算模块
import cv2 as cv #引入opencv模块

然后直接调用cv.VideoCapture()函数读取视频:

cap = cv.VideoCapture(0) #读取视频

之后给了一个自定义函数,这个函数逐帧读取视频,然后把视频变成灰色输出,里面使用了imshow()函数支持输出:

while (True): #自定义函数# 一帧一帧捕捉ret, frame = cap.read()# 我们对帧的操作在这里gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) #将每一帧都换成灰色# 显示返回的每帧cv.imshow('frame', gray) #输出灰色的视频if cv.waitKey(1) & 0xFF == ord('q'):break

然后任务完成释放所有对象:

# 当所有事完成,释放 VideoCapture 对象
cap.release() #读取完成后,释放,也就是任务完成后休息
cv.destroyAllWindows() #关闭窗口

实际上运行上述代码没有任何输出,甚至还会保存,因为至少没有视频支持读取。

所以为了完成对代码的理解,还有必要稍加改写。

上次课已经知晓,要被读取的对象最好和python程序放在一起,所以我做了一个视频,和程序放在了同一个位置,视频链接为:

dnlp-aixmls

 然后把代码修改为:

import numpy as np #引入计算模块
import cv2 as cv #引入opencv模块cap = cv.VideoCapture('dnlp-aixmls.mp4') #读取视频
while (True): #自定义函数# 一帧一帧捕捉ret, frame = cap.read()# 我们对帧的操作在这里gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY) #将每一帧都换成灰色# 显示返回的每帧cv.imshow('frame', gray) #输出灰色的视频if cv.waitKey(1) & 0xFF == ord('q'):break
# 当所有事完成,释放 VideoCapture 对象
cap.release() #读取完成后,释放,也就是任务完成后休息
cv.destroyAllWindows() #关闭窗口

视频按照灰色的模样进行了输出,效果为:

使用python+opencv转化灰度视频

【5】 灰度视频保存

根前述内容,已知使据用cv.VideoWrite()函数可以保存视频

先引入一个翻转视频后再将其保存的示例,示例依然来自:2. GUI 功能 - 视频入门 - 《OpenCV 中文文档 4.0.0》 - 书栈网 · BookStack

import numpy as np #引入计算模块
import cv2 as cv #引入opencv模块cap = cv.VideoCapture(0) #读取视频
# 声明编码器和创建 VideoWrite 对象
fourcc = cv.VideoWriter_fourcc(*'XVID') #指定视频解码器,XVID只是其中一种方法
out = cv.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) #输出视频
while (cap.isOpened()): #自定义函数ret, frame = cap.read()if ret == True:frame = cv.flip(frame, 0) #对图像进行翻转,调用了flip()函数# 写入已经翻转好的帧out.write(frame) #保存视频cv.imshow('frame', frame) #输出视频if cv.waitKey(1) & 0xFF == ord('q'):breakelse:break
# 释放已经完成的工作
cap.release()
out.release()
cv.destroyAllWindows()

 上面先给出了加了注释的官网示例代码,然后我们很直观的会发现保存视频主要增加了两行汇总要代码:

fourcc = cv.VideoWriter_fourcc(*'XVID') #指定视频解码器,XVID只是其中一种方法
out = cv.VideoWriter('output.avi', fourcc, 20.0, (640, 480)) #输出视频

fourcc用于视频解码,out用于视频保存。

逻辑上也非常简单,先知道了视频的格式,也就是掌握了该如何处理的方法,然后按照期待的方向将其格式和名称进行转化就可以。

不过官网代码还不能直接使用,所以我们稍微修改一下,转化为下述形式:

import numpy as np #引入计算模块
import cv2 as cv #引入opencv模块cap = cv.VideoCapture('dnlp-aixmls.mp4') #读取视频
# 声明编码器和创建 VideoWrite 对象
fourcc = cv.VideoWriter_fourcc(*'XVID') #指定视频解码器,XVID只是其中一种方法
out = cv.VideoWriter('output-100.mp4', fourcc, 20.0, (1920, 1040)) #输出视频
while (cap.isOpened()): #自定义函数ret, frame = cap.read()if ret == True:frame = cv.flip(frame, 0) #对图像进行翻转,调用了flip()函数# 写入已经翻转好的帧out.write(frame) #保存视频cv.imshow('frame', frame) #输出视频if cv.waitKey(1) & 0xFF == ord('q'):breakelse:break
# 释放已经完成的工作
cap.release()
out.release()
cv.destroyAllWindows()

实际上我们看到这是一个彩色的翻转视频,链接如下。

使用python+opencv翻转视频

结合一下对前面的灰度视频转化的操作,我们尝试保存一下灰度视频。

首先输入下述代码:

import numpy as np #引入计算模块
import cv2 as cv #引入opencv模块cap = cv.VideoCapture('dnlp-aixmls.mp4') #读取视频
# 声明编码器和创建 VideoWrite 对象
fourcc = cv.VideoWriter_fourcc(*'XVID') #指定视频解码器,XVID只是其中一种方法
out = cv.VideoWriter('output-flip-gray.mp4', fourcc, 20.0, (1920, 1040),False) #输出视频
while (cap.isOpened()): #自定义函数ret, frame = cap.read()if ret == True:frame = cv.flip(frame, 0) #对图像进行翻转,调用了flip()函数gray = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)# 写入已经翻转好的帧out.write(gray) #保存视频cv.imshow('gray', gray) #输出视频if cv.waitKey(1) & 0xFF == ord('q'):breakelse:break
# 释放已经完成的工作
cap.release()
out.release()
cv.destroyAllWindows()

这里和之前纯翻转代码的区别是:

acv.VideoWrite()函数后增加了False,正是False参数的出现实现了灰度视频保存;

【b】out.write()和cv.imshow()的参数是gray,它们和False参数一起,保证了保存灰度视频。

【c】修改out.write()和cv.imshow()的参数gray为frame,代码不可以运行。

在v.VideoWrite()函数的官网OpenCV: cv::VideoWriter Class Reference,可以看到解释:

6b730f4245a44b33a344bc7c533b86c2.png

图1

时间也会发现这是一个小细节,只有在cv.VideoWrite()函数后增加了False参数,灰度视频才会被成功保存。

7b69cc5d9d1a4eb985bb4eff84dd8627.png

图2

保存后的翻转灰度视频为:

python+opencv做灰度视频并将其翻转

【6】 总结

初步学习了使用cv.VideoCapture()函数和cv.VideoWrite()函数处理视频的基本技巧。

http://www.yayakq.cn/news/452872/

相关文章:

  • 杭州蒙特网站建设杭州专业网站建设公司
  • 网站建设收费情况wordpress过滤器插件6
  • 大型的营销型网站网站建设公司哪个好
  • 重庆网站外包服务器租用网站自动划分空间
  • php网站游客试用怎么做哪里可以学seo课程
  • 重庆忠县网站建设公司网页制作协议
  • 简单的企业网站模板无锡网站制作电话
  • 网站开发方案及报价开发app软件的步骤
  • 中山网站建设推荐网站设计服务合同
  • 网站开发经验简历专门做孩子早教的网站
  • 深圳网站建设公司那家好上海闵行建网站公司
  • 企业网站布局常见的营销方式有哪几种
  • 绿色风格网站php个人网站模板
  • 广东省农业农村厅网站网站建设及推广方案
  • 钓鱼网站怎么制作视频中山网站建设gdyouzi
  • 微网站怎么做百度关键词排名企业型商务网站制作做法
  • 自己有域名怎么建网站网站开发经典案例
  • 365网站中小型网站建设价位
  • 网站建设公司怎么挖掘客户株洲网站搜索优化
  • 网站第三方评价如何做2022热点新闻事件
  • 深圳网站建设熊掌号天津微信小程序开发公司
  • 上海做网站谁好惠州设计公司logo
  • 鄂州第一网官方网站软件商店下载免费版
  • 土木毕业设计代做网站市场推广的方法
  • 做ppt封面的网站网站推广广告 优帮云
  • 广西北海市住房和建设厅网站设计师应该看的网站
  • 商务网站建设实训结论页面开发
  • 湖北seo网站多少钱小程序一般用什么语言开发
  • 正规的装饰行业网站建设公司网站制作策划方案
  • 建设京东商城网站广州南建站时间