微网站和小程序的区别经典案例网站
news/
2025/10/6 5:15:30/
文章来源:
微网站和小程序的区别,经典案例网站,物流行业网站建设市场分析,牙科网站建设目录 读取视频内容 将彩色视频转换为灰色视频 读取视频内容
读取视频文件通常分为读取文件、验证是否打开成功打开文件、逐帧读取视频文件、释放资源和关闭窗口
#xff08;1#xff09;读取文件
在OpenCV中#xff0c;通常使用VedioCapture来读取视频流#xff0c;Vedi…目录 读取视频内容 将彩色视频转换为灰色视频 读取视频内容
读取视频文件通常分为读取文件、验证是否打开成功打开文件、逐帧读取视频文件、释放资源和关闭窗口
1读取文件
在OpenCV中通常使用VedioCapture来读取视频流VedioCapture是OpenCV中的一个类提供了一中便捷的方法读取视频内容。例如
vccv2.VideoCapture(rtest.mp4)
上述代码是在与程序所在的文件夹中读取名为test的mp4文件。
2验证是否成功打开文件
在获取视频之后需要处理视频流例如下面的代码是处理视频流的部分
if vc.isOpened():is_open,framevc.read()
else:is_openfalseprint(无法打开视频文件)
isOpened()是一个函数调用检查视频流是否已经打开。如果打开的话OpenCV将会读取一帧图像并且将其保存在frame如果保存成功那么is_Open的值为true如果保存不成功那么is_Open的值为false。
3逐帧打开视频文件
while True:ret, frame video.read()if ret:cv2.imshow(Video, frame)if cv2.waitKey(1) 0xFF ord(q): #按q键退出breakelse:break
该循环是从视频流中读取一帧图像并将结果存储在 frame 变量中。ret 是一个布尔值表示是否成功读取到图像。然后判断是否成功读取到图像如果是rettrue则继续执行下面的操作即将每一帧展示出来当视频播放玩的时候或者按q键中途退出。
4释放资源和关闭窗口
最后完成读取所有的帧之后需要释放资源和关闭窗口OpenCV使用release()释放资源用cv2.destroyAllWindows()关闭窗口代码如下
video.release()
cv2.destroyAllWindows()
完整的代码如下所示
vccv2.VideoCapture(rD:\Photo\1.mp4)#判断是否打开视频文件
if vc.isOpened():is_open,framevc.read()
else:is_openfalseprint(无法打开视频文件)# 循环读取视频帧
while True:ret, frame video.read()if ret:cv2.imshow(Video, frame)if cv2.waitKey(1) 0xFF ord(q): #按q键退出breakelse:break
#释放资源和关闭窗口
video.release()
cv2.destroyAllWindows()
现在尝试运行这段程序在D盘中Photo文件夹中有一个名为1的mp4文件 视频内容如下所示使用动图来对mp4的内容进行展示,视频内容为显示引用如若侵权可删 运行结果如以下视频所示使用动图的效果来展示 将彩色视频转换为灰色视频
在OpenCV中同样也可以将彩色视频转换灰色视频
import cv2
vccv2.VideoCapture(rD:\Photo\1.mp4)#判断是否打开视频文件
if vc.isOpened():is_open,framevc.read()
else:is_openfalseprint(无法打开视频文件)# 循环读取视频帧
while True:ret, frame vc.read()if ret:gray_frame cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)cv2.imshow(Video, gray_frame)if cv2.waitKey(1) 0xFF ord(q): #按q键退出breakelse:break
#释放资源和关闭窗口
vc.release()
cv2.destroyAllWindows()
只需要在imshow()函数前面加上cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)即可。运行效果如下所示
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/929003.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!