擅长:python、mysql、java
<p>你的摄像头支持USB3吗?根据我对网络摄像头和OpenCV的实际经验,大多数常见的摄像头只能以480mbit/s的速度在USB2标准上进行传输。一个USB通道可以支持多少个摄像头的确切细节取决于分辨率、帧速率和视频压缩技术。以我的经验,1080p彩色视频每秒30帧,H.264编码,只有一个摄像头流适合一个USB控制器。</p>
<p>查看您是否受到带宽限制的一个简单测试是修改您的程序,使其在测试后显式关闭每个流(<code>cap.release()</code>),这样您的测试程序一次只能打开一个相机,就像Windows相机应用程序一样。如果这是可行的,那么您很可能正在考虑带宽限制。</p>
<p>在Windows上调试视频捕获问题时,还可以使用<a href="https://www.videolan.org/vlc/index.html" rel="nofollow noreferrer">VLC</a>打开相机流。VLC可以枚举DirectShow中可用的所有摄像机,默认情况下,DirectShow与OpenCV的<code>VideoCapture</code>使用的API相同。您也可以启动多个VLC实例来尝试同时流。</p>
<p>如果单击“高级选项”,然后选中“设备属性”,VLC将显示哪些设置(曝光、焦点等)可以通过DirectShow进行调整。这些设置通常可以通过<a href="https://docs.opencv.org/3.4.1/d8/dfe/classcv_1_1VideoCapture.html#a8c6d8c2d37505b5ca61ffd4bb54e9a7c" rel="nofollow noreferrer">^{<cd3>}</a>在OpenCV中访问。</p>