使用opencv库,从摄像机捕获视频并在窗口中显示视频帧
#导入opencv库,用于图像处理和计算机视觉任务。 import cv2 #设置显示视频的显示窗口的宽度和高度(以像素为单位) dispW=640 dispH=480 #定义了一个flip参数,值为2,决定了摄像头拍摄的图像如何翻转。 值为 2 表示垂直翻转。 flip=2 #对获取图像分辨率,帧率等进行设置,使用树莓派摄像头 camSet='nvarguscamerasrc ! video/x-raw(memory:NVMM), width=3264, height=2464, format=NV12, framerate=21/1 ! nvvidconv flip-method='+str(flip)+' ! video/x-raw, width='+str(dispW)+', height='+str(dispH)+', format=BGRx ! videoconvert ! video/x-raw, format=BGR ! appsink' #这一行创建了一个VideoCapture对象,用于访问摄像头和捕捉视频帧。 先前定义的 camSet 字符串作为参数传递给 VideoCapture 构造函数。 cam=cv2.VideoCapture(camSet) #使用电脑摄像头 #cam=cv2.VideoCapture(1) while True: #ret为True或者False,代表也没有读取到图像;frame表示截取到的一帧的图片 ret , frame=cam.read() #展示窗口 cv2.imshow('nanoCam',frame) #此行检查是否按下了 'q' 键。 如果是,循环将中断,程序将终止 # waitKey 方法等待键事件指定的毫秒数 if cv2.waitKey(1) == ord('q'): break #释放相机并释放 VideoCapture 对象使用的所有资源。 cam.release() #关闭所有 OpenCV 窗口并释放 imshow 方法使用的所有资源。 cv2.destroyAllWindows()
标签:视频,cv2,flip,摄像机,opencv,VideoCapture,cam From: https://www.cnblogs.com/niuyongshuai/p/17113861.html