怎样打开多个摄像头中的某一个,怎样打开摄像头

首页 > 实用技巧 > 作者:YD1662023-08-01 19:27:43

在一般的情况下,我们是可以使用OpenCV来打开一个摄像头,然后来根据视频面来处理其他业务。打开摄像头的方式详情可以参看:。

但在有些场景中,需要同时打开多个摄像头,这时就需要使用多线程的方法来处理。

本文主要演示如何使用多线程同时开启多个摄像头。

实现代码

import cv2 import threading #定一个类,继承threading.Thread class PreThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) def OpenCam(self,id=0): cap = cv2.VideoCapture(id) while True: ret, frame = cap.read() cv2.imshow("Cam" str(id), frame) if cv2.waitKey(1) & 0xFF == ord('q'): break if cv2.getWindowProperty('Cam' str(id),cv2.WND_PROP_AUTOSIZE) < 1: break cap.release() cv2.destroyAllWindows() #定义带有参数的开启线程的方法 def thread_run(self,id): ''' ID:camera ID ''' th=threading.Thread(target=self.OpenCam,args=(id,)) th.start() #实例化类,并调用方法 pread=PreThread() pread.thread_run(0) pread.thread_run(1)

运行效果:

怎样打开多个摄像头中的某一个,怎样打开摄像头(1)

同时开启两个摄像头

从画面来看,两个摄像头窗口的视频非常流畅,没有一点卡顿现象。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.