多线程调用摄像头时热成像相机出现延迟的问题求助
OpenCV多线程调用Webcam与热成像相机时热成像画面延迟问题及帧同步需求
我正在使用OpenCV对Web摄像头和热成像摄像头的视频进行实时图像处理,采用多线程方式为每个摄像头分配一个线程,简化代码如下。
测试情况:
- 两台Web摄像头(笔记本内置摄像头+罗技摄像头)下运行正常
- 单独使用热成像摄像头(Infiray Xtherm 2)也运行正常
- 同时调用1台Webcam和1台热成像摄像头时,热成像摄像头的画面出现严重延迟,关闭Webcam预览窗口后延迟自动消失
我的需求是实现Webcam与热成像摄像头之间的帧同步,保证合理帧率以实时检测视野内热点。我对OpenCV和多线程较为陌生,恳请各位提供帮助或其他解决方案,谢谢。
import cv2 import threading def simpleVideo(camName, camInd): cv2.namedWindow(camName) cam= cv2.VideoCapture(camInd, cv2.CAP_DSHOW) while(True): ret, frame=cam.read() cv2.imshow(camName, frame) if cv2.waitKey(1) == 27: # exit on ESC break cam.release() cv2.destroyWindow(camName) camT = threading.Thread(target=simpleVideo, args=('cam',0,)) # thermT = threading.Thread(target=simpleVideo, args=('therm',1,)) camT.start() # thermT.start()
内容的提问来源于stack exchange,提问作者user24312540
相关产品推荐
相关产品推荐

