我是靠谱客的博主 从容摩托,最近开发中收集的这篇文章主要介绍OpenCV使用教程-读取视频VideoCapture,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部