长期聆听者,第一次提问。情况如下:
我正在尝试使用 .read() 功能从多个 opencv (python) 视频捕获设备中读取帧。使用 opencv 2.4.11 时随机出现以下错误:
HIGHGUI 错误:V4L2:OpenCV 不支持传入图像的像素格式无法停止流。:错误的文件描述符
此错误似乎发生在 .read() 调用中,甚至将调用包装在 try/except 中也无法捕获问题,因为 .read() 调用即使作为异常也不会返回。
当尝试更新到最新版本的 ocv(3.2.0) 时,.read() 无法返回任何帧。
附加信息:机器:Linux Mint 18.1 摄像头:https ://www.amazon.com/ELP-megapixel-surveillance-machine-monitor/dp/B015FIKTZC Python:2.7
更新:代码:
以下发生在 videoCamera 类中,该类包含最初由以下内容制作的视频对象:self.video = cv2.VideoCapture(self.cameraSerialAddress)
然后对这个类进行 getFrame() 调用,在这个函数中如下:try: retVal,frame = self.video.read()
if frame is None:
print("no frame available for camera: "+str(self.cameraSerialAddress) + " Reconnecting to camera")
self.video.release()
self.video = None
self.hasConnection = False
self.frame = None
return
elif frame is not None:
self.frame = frame
谢谢你的帮助,凯尔