我正在使用OpenCV2.2和videoInput.我想升级到OpenCV2.3.1,其中videoInput显然已合并到OpenCV2.3中.
我的问题是似乎没有listdevices()函数来返回所有可用的视频源.
有人知道新的等价物吗?
我想使用C ++,OpenCV 2.4.11,Windows 8.1和Qt Creator 3.4.2列出所有连接的网络摄像头(USB网络摄像头和内部网络摄像头)。对我而言,通过以下方式获取可访问的网络摄像头数量就足够了:
VideoCapture videoCapture(0); // Will access my internal laptop webcam.
VideoCapture videoCapture(1); // Will access the first connected usb webcam.
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
// Following procedure detects, how many webcams are accessible from 0 on upwards.
numberOfDevices = 0;
bool noError = true;
while (noError)
{
try
{
// Check if camera is available.
VideoCapture videoCapture(numberOfDevices); // Will crash if not available, hence try/catch.
// ...
}
catch (...)
{
noError = false;
}
// If above …Run Code Online (Sandbox Code Playgroud) 我正在玩OpenCV一段时间,我发现一些特定的捕捉设备(PS3 Eye,Logitech C940,iSight)甚至在不同的平台上有一些奇怪的行为.
在Windows中使用OpenCV:上面提到的所有凸轮都运行良好.但是当我想使用2个凸轮并因此创建第二个捕获时,它将取决于我在双凸轮设置中使用的设备.
PS3 Eye + C940:没问题2x C940:没问题
2x PS3 Eye:没有机会,只有首先连接的特定设备才会初始化.另一个PS3 Eye无法同时使用...没有错误事件,也没有显示有关问题的信息.
现在在MacOSX 10.7中使用OpenCV(10.6.x相同),使用相同的设备甚至相同的QtGui-Application和2个独立的GLWidgets在QtGui中显示cv输出存在不同的问题.
只要在Mac OS中不使用PS Eye,每个安装程序都很棒.我尝试过macam和其他几个工具,但是我无法让OpenCV在OSX中启动这个凸轮(我为我的项目购买了3个,所以硬件probs不太可能).
我仍然想知道问题出在哪里......也许2 PS Eye可以在OSX上工作,如果一个人做的话?我说不出来.
我甚至可以通过2x罗技全高清网络摄像机同时捕捉到良好的性能.
任何想法限制可能与Windows中的双PS眼睛?也许是USB?为什么OSE中的OpenCV不能从PSEye捕获,但是macam可以访问凸轮?
我只是想了解发生了什么.也许你们中的任何人都找到了在OSX中使用至少一个PS Eye的方法吗?或者这是不可能的?不能opencv以某种方式使用macam组件?