使用opencv库,从摄像机捕获视频并在窗口中显示视频帧
使用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()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构