python-opencv读入视频及代码解读

import cv2

if __name__ == '__main__':
    cap = cv2.VideoCapture('bb.mp4')#读入视频
    cv2.namedWindow('tracking')#建立一个窗口来放我们的视频

    while (cap.isOpened()):#判断相机是否打开成功
        ret, frame = cap.read()#捕获一帧图像
        if not ret:#如果捕获失败,则退出
            break

        cv2.imshow('tracking', frame)
        c = cv2.waitKey(1) & 0xFF
        if c == 27 or c == ord('q'):#判断按键,如果按键为q或esc,退出循环
            break

    cap.release()#关闭相机
    cv2.destroyAllWindows()#关闭窗口


cv2.waitkey(delaytime)------->returnvalue
在delaytime时间内,按键盘, 返回所按键的ASCII值;若未在delaytime时间内按任何键, 返回-1; 其中,dalaytime: 单位ms;

  1. 当delaytime为0时,表示forever,永不退回.
  2. 当按ecs键时,因为esc键ASCII值为27,所有returnvalue的值为27,一般用这个机制实现在delaytime内正常退出.
  3. 也使用 if cv2.waitKey(1) & 0xFF == ord(‘q’): break来实现1ms之内的正常退出。 其中, ord(‘q’):返回q对应的Unicode码对应的值,q对应的Unicode数值为113。
  4. 0xFF:0xFF是一个位掩码,十六进制常数,二进制值为11111111, 它将左边的24位设置为0,把返回值限制在在0和255之间。ord(’ ')返回按键对应的整数(ASCII码)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值