OpenCV-python基础操作之从摄像机读入视频数据
代码:
# 代码描述: 从本地摄像机读入视频
#
# 创建时间: 2020-8-31
# 创建人: Wupke
# 修改时间:
import cv2 as cv
import numpy as np
# 定义一个读入视频的函数
def video_demo():
# 当只有一个本地摄像头时,cv.VideoCapture的参数为0,即是指定使用的摄像机
capture = cv.VideoCapture(0)
while(True) :
ret, frame = capture.read() # ret(return缩写),返回frame的每一帧图片
frame = cv.flip(frame, 1) # 摄像头镜像调整(输出图像是反着的),并把调整后读取的图像返回给frame
cv.imshow("video", frame) # 显示 video 中的 每一帧图像
'''
当前帧被显示后,程序会暂停 33 毫秒,
如果期间用户出发了一个按键,c 会被设置成这个按键的 ASCII 码,否则 c 会被设置成-1,
如果用户触发了ESC键(ASCII 27),循环被退出,读入视频停止,否则33毫秒以后继续执行循环。
'''
c = cv.waitKey(33)
if c == 27:
break
video_demo() # 调用函数
cv.waitKey(0) # 程序暂停,等待用户触发按键操作
cv.destroyWindow() # 清除内存
小提示:
① 把 cv.VideoCapture 的参数 0 也可以换成本地视频文件来读取(视频的文件路径)如:capture = cv.VideoCapture(“D:/Software/video/视频1.mp4”)
② frame = cv.flip(frame, 1) 摄像头镜像调整这一步,根据实际输出的视频画面是否是反着的,判断是否需要镜像调整