我是靠谱客的博主 要减肥河马,最近开发中收集的这篇文章主要介绍如何用OpenCV读取和展示视频?完整过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

读取视频

用OpenCV读取图像主要用到的是cv.VideoCapture()函数,该函数的参数可以是整数,用来直接用摄像头读取视频(比如0表示默认的摄像头),也可以是视频文件的路径,该函数返回值可以认为就是能供我们接下来操作处理的视频。

import cv2 as cv

capture = cv.VideoCapture('d:/OpenCV/videos/cat.mp4')
# 这里我读取的是已有的视频
# 返回值赋值给capture,之后操作capture即可

展示视频

我们将用一个while循环来一帧一帧地展示视频。在循环里,首先用read函数读取每一帧,这个函数无参数,返回值有两个,第一个为是否读取成功,第二个为读取的相应的一帧:

# 接上一段代码
while True:
	isTrue, frame = capture.read()

当isTrue为假时,表示读取失败,我们用break结束循环;否则表示读取成功,接下来用cv.imshow()把这一帧展示出来,注意每次展示的时候还要给一定的延迟:

# 接上一段代码
	if isTrue:
		cv.imshow('My Video',frame)
		if cv.waitKey(20) & 0xFF == ord('d'):
		# 这里有一个20毫秒的延迟,后一部分照抄就行(其实作者也不懂)
			break
	else:
		break

最后的release()destroyAllWindows()分别用来释放内存和关闭窗口:

# 接上一段代码
capture.release()
cv.destroyAllWindows()

完整过程

整个读取、展示过程的完整代码如下:

import cv2 as cv

capture = cv.VideoCapture('d:/OpenCV/videos/cat.mp4')

while True:
	isTrue, frame = capture.read()
	
	if isTrue:
		cv.imshow('My Video',frame)
		if cv.waitKey(20) & 0xFF == ord('d'):
			break
	else:
		break

capture.release()
cv.destroyAllWindows()

欢迎大家评论,如果有错误欢迎指正。
如果你觉得这篇文章有用的话,麻烦给我点个赞哦????

最后

以上就是要减肥河马为你收集整理的如何用OpenCV读取和展示视频?完整过程的全部内容,希望文章能够帮你解决如何用OpenCV读取和展示视频?完整过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部