荆为好 2024-06-25 13:30 采纳率: 100%
浏览 1
已结题

OpenCV读取视频数据

如何使用opencv读取视频文件中的数据,python代码如何编写

  • 写回答

3条回答 默认 最新

  • 岫珩 全栈领域优质创作者 2024-06-25 13:30
    关注

    完整代码如下

    
    import cv2
    
    video = cv2.VideoCapture("./demo.mp4")
    
    # 检查是否打开正确
    if video.isOpened():
        # 我们都知道视频和游戏其实都是由图像组成的,通过访问图像的帧数连贯形成的,这里也是一样
        # video.read() 一帧一帧地读取
        # open 得到的是一个布尔值,就是 True 或者 False
        # frame 得到当前这一帧的图像
        open, frame = video.read()
    else:
        open = False
    
    while open:
        ret, frame = video.read()
        # 如果读到的帧数不为空,那么就继续读取,如果为空,就退出
        if frame is None:
            break
        if ret == True:
            # 转换为灰度图
            gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
            cv2.imshow("video",gray)
            # 这里使用 waitKey 可以控制视频的播放速度,数值越小,播放速度越快
            # 这里等于 27 也即是说按下 ESC 键即可退出该窗口
            if cv2.waitKey(10) & 0xFF == 27:
                break
    video.release()
    cv2.destroyAllWindows()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月3日
  • 已采纳回答 6月25日
  • 创建了问题 6月25日