我正在尝试使用 Python 3.4 和 OpenCV 从 e-Con Systems 的相机读取图像。相机使用 DirectShow 驱动程序,我可以连接到相机(isOpened 返回 true 并且相机上的状态 LED 处于事件状态)但是当我尝试读取或抓取帧时它不起作用。
import cv2
cam = cv2.VideoCapture(cv2.CAP_DSHOW + device)
cam.isOpened() # returns true, camera LED on
flag, frame = cam.read() # flag=false, frame=None
我也试过像其他人所说的那样捕获多个帧,但仍然没有成功!
最佳答案
很久以前,我为 OpenCV 编写了一个补丁,它提供了对 Y16 编解码器的支持,因此您不再需要经历所有这些对 OpenCV 进行自定义编译的痛苦。当时我已经通过电子邮件向 E-con 支持人员发送了有关此问题的信息,但是(截至本文发布时)我发现他们没有尝试调整他们的工作方式。
Brandon Hurr/@bhive01 已经为 See3CAM_CU40 编写了一些 python 代码,您可以查看 over here .这与您使用 OpenCV 的 VideoCapture
接口(interface)的方式非常相似,只需使用“Y”、“1”、“6”、“”作为 FOURCC 设置,并将 CAP_PROP_CONVERT_RGB 设置为 false。
干杯!
关于python - 无法使用带有 Python 3 的 See3CAM 读取图像并打开 CV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34985388/