我正在尝试使用Python 3.6.5和opencv-python 3.4.3.18从Mightex cmos usb摄像机(SCE-B013-U)捕获图像。随附软件确认相机工作正常。但是,cv2.VideoCapture(0).isOpened()
是错误的。我确定我缺少什么,但我不知道是什么。请帮忙。提前谢谢。
答案 0 :(得分:0)
有时候,
cap
可能尚未初始化捕获。在这种情况下, 此代码显示错误。您可以检查它是否已初始化 通过方法cap.isOpened()
。如果为True,则确定。否则打开它 使用cap.open()
。
答案 1 :(得分:0)
为了进行测试,我在自己的设置上安装了1个相机,该相机与以下命令兼容:opencv:
@Service
class SomeService(val eventRepository: EventRepository)
{
fun save() = eventRepository.save(Event(UUID.randomUUID().toString(), "hey"))
}
对我来说返回True,但是如果我拔下相机的插头,它将返回False。错误可能表示没有可用的相机。
如果上述其他答案没有任何结果,则可能是已安装的驱动程序与opencv不兼容?
从product description:
此外,基于用户界面的友好用户界面应用程序软件和SDK 提供用于定制软件开发。 USB命令集 协议还为非Windows应用程序提供了
不禁会认为这家公司可能遵循与opencv通常使用的标准不同的标准。例如,许多USB3Vision相机无法以您尝试的方式开箱即用,并且需要其他编程才能返回numpy样式的阵列图像。
我的想法的其他支持在“图形用户界面示例”中
我在GeniCam标准(USB3Vision)中看到的许多选项。
相机模式(连续/触发),曝光控制,启用自动曝光等
这并不是说摄像机肯定是一个或另一个,但症状表明该摄像机不符合您想要使用opencv开箱即用的条件。
您可以尝试使用第三个party SDK来帮助验证。
p.s,这是我今天第二次引用此SDK。我不为他们工作-我与他们没有联系,但是能够使用他们的程序进行(免费)试用对于帮助解决此问题非常有用。
让您的相机正常工作真是太幸运了。