概述
1、方法说明:
import cv2 as cv
video=cv.VideoCapture(filename[, flags])
2、读取视频思路:视频是由每一帧图片组成,读取图片本身就是读取图片;
ret,img=video.read()
- ret:<class ‘bool’>是否读取到帧数
- img: <class ‘numpy.ndarray’>图片矩阵
if video.isOpened():
# ret:<class 'bool'>是否读取到?
# img:<class 'numpy.ndarray'>图片矩阵?
ret,img=video.read()
print(type(ret))
print(type(img))
else:
ret=False
通过循环将每一帧图片展示出来
while open:
ret,frame=video.read()
if frame is None:
break
if ret==True:
img=cv.cvtColor(frame,cv.IMREAD_COLOR)
cv.imshow("result",img)
if cv.waitKey(1) & 0xFF ==27:#设置等待时间(毫秒级)以及 退出按钮:27表示Esc按键
break
# 视频资源释放
video.release()
# 关闭所有窗口
cv.destroyAllWindows()
3、读取视频案例如下:
读取视频案例,下面案例展示了视频读取思路,通过设置while循环进行帧数播放,达到读取图片的效果;
import cv2 as cv
# 读取视频,返回一个视频VideoCapture对象;
video=cv.VideoCapture("../sources/cyq.mp4")
print(type(video))
if video.isOpened():
# open:<class 'bool'>是否读取到?
# frame:<class 'numpy.ndarray'>图片矩阵?
open,frame=video.read()
print(type(open))
print(type(frame))
else:
open=False
while open:
ret,frame=video.read()
if frame is None:
break
if ret==True:
img=cv.cvtColor(frame,cv.IMREAD_COLOR)
cv.imshow("result",img)
if cv.waitKey(1) & 0xFF ==27:
break
video.release()
cv.destroyAllWindows()
最后
以上就是从容摩托为你收集整理的OpenCV使用教程-读取视频VideoCapture的全部内容,希望文章能够帮你解决OpenCV使用教程-读取视频VideoCapture所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复