我在Oracle VirtualBox(主机:Mac OS X)中安装了一个Ubuntu vm,安装了python(miniconda),opencv和内置网络摄像头,通过Devices> Webcams菜单连接到vm . 如果我尝试在像this这样的网站上测试我的网络摄像头,它运行良好,但是如果我尝试用这种方式从python连接到opencv相机:
>>> import cv2
>>> cap = cv2.VideoCapture(0) # or 1 or -1, I tried all
>>> ref, frame = cap.read()
>>> frame.shape
我有一个错误“NoneType没有属性形状” . 我怎么解决这个问题?
1 回答
这是可能的,但需要几个步骤才能正常工作:
1.确保虚拟机未运行且未使用您的网络摄像头 .
2.打开主VBox窗口,在Win7机器的详细信息选项卡中单击USB .
3.确保选中“启用USB控制器” . 还要确保选择“启用USB 2.0(EHCI)控制器” .
4.单击“从设备添加过滤器”按钮(带有“图标”的电缆) .
5.从列表中选择您的设备 .
6.现在单击“确定”并启动VM .
VBoxManage list webcams
中 . 这将返回以下输出:视频输入设备:1
.1“FaceTime高清摄像头”
0x8020000005ac8514
VboxManage controlvm "my_virtual_machine_name" webcam attach .1
中 . 其中.1
是Virtualbox的Video Input Devices
的名称 .这将导致设备显示为已插入VM . 从那里,你应该能够使用它或必要时安装驱动程序 .