# -*- coding: utf-8 -*- import cv2 as cv import numpy as np ''' VideoCapture() 中参数为0:表示打开内置摄像头 参数为1:则打开外置摄像头 其他数字则代表其他设备 参数是视频文件的路径则打开指定路径下的视频文件 ''' #打开内置摄像头 #cap = cv.VideoCapture(0) #打开指定路径下的视频文件 cap = cv.VideoCapture("宸宸.mp4"); while(True): #按帧读取视频 ''' ret,frame是read()方法的两个返回值。 ret:布尔值,如果读取帧是正确的返回True,如果文件读取到结尾就返回False frame:是每一帧的图像,是一个三维矩阵 ''' ret,frame = cap.read() if frame is not None: #cvtColor 颜色控件转换 转换为灰度图 frame = cv.cvtColor(frame,cv.COLOR_BGR2GRAY) cv.imshow('frame',frame) ''' waitKey() 参数是1:对于视频来说,表示延迟1ms切换到下一帧图像; 参数是0:表示只显示当前帧的图像,相当于视频暂停; 参数过大,会因为延时过久而感觉到卡顿 ''' if cv.waitKey(1) & 0xFF == ord('q'): break #释放 cap.release() cv.destroyAllWindows()