<p>由于工作和生活的阻碍,我已经有一段时间没有参与这个项目了。。。</p>
<p>我最近建立了一台运行linux的全新计算机,我再次尝试——尝试从多个摄像头捕捉输入。这次我用的是4个不错的微软摄像头,而不是超便宜的摄像头。。。</p>
<p>我又一次能够与所有的摄像头进行通信(我甚至尝试通过集线器将它们放在同一个USB控制器上,并且能够独立地与每个摄像头进行通信),但不能同时进行。</p>
<p>这对我来说无关紧要,因为我不需要同时连接到它们,但是当它们第一次通电时,内部百叶窗必须打开和调整,自动对焦必须调整。。。</p>
<p>我正在尝试Pygame的相机库,而我的脚本打开相机、抓取帧并保存所需的时间不足以让相机做好准备,因此我的捕获图像要么是暗的(或半暗的),要么是失焦的。</p>
<p>我使用的是OpenCV(现在我将继续尝试)能够同时与摄像机通信(所有4个摄像头上的灯都同时亮起),我希望这意味着我可以提前“打开”,然后根据需要捕捉帧。现在我可以看到每台相机的实时视频(不是同时,但我可以通过更改设备号来单独测试它们),但不幸的是,由于我将这个项目搁置了一段时间,我忘记了一些代码,我需要在不出错的情况下对它做更多的工作,所以我必须对它做一些工作。</p>
<p>同时,我在网上发现了这个:
<a href="http://codeplasma.com/2012/12/03/getting-webcam-images-with-python-and-opencv-2-for-real-this-time/" rel="nofollow">http://codeplasma.com/2012/12/03/getting-webcam-images-with-python-and-opencv-2-for-real-this-time/</a></p>
<p>我还没有试过这个代码,但我喜欢这个人添加“扔掉的帧”的想法,让相机的时间调整自己。我的目标是让相机连续开着,然后当我按下一个键或其他什么的时候,简单地拍下照片(捕捉画面)。</p>
<p>J型</p>
<p>更多更新:</p>
<p>使用OpenCV,我可以同时连接多达5个摄像头(4个微软和1个Logitech),而每个摄像头都连接在不同的USB控制器上(我使用的主板似乎有8个USB端口,而我目前有6个)。但当我在一个USB控制器上连接多个摄像头时(即在同一个控制器上或使用集线器的两个端口),OpenCV似乎只控制每个控制器上两个摄像头中的一个。</p>
<p>然而,使用PyGame的摄像头模块,我可以在一个USB控制器上单独连接多达5个摄像头(连接有电源集线器),但是我不能同时连接多个摄像头(即使它们在不同的USB控制器上也不起作用)。再说一次,我不需要所有摄像机同时直播,但摄像机需要时间进行自我设置,因此如果不能提前“打开摄像机”,我就无法“拍出一张值得的照片”。</p>
<p>它继续。。。</p>