如何使用OpenCV从多个摄像头捕获实时视频?

问题描述 投票:2回答:3

我正在使用Opencv 3和python 3.6进行项目工作。我想一次设置多个摄像头,以便立即查看所有摄像机的视频。我想用它进行面部识别。但是没有好办法做到这一点。这是我遵循的一个链接,但没有任何反应:Reading from two cameras in OpenCV at once

我也尝试过这篇博文,但它只能从视频中一次捕获一个图像,无法显示实时视频。 https://www.pyimagesearch.com/2016/01/18/multiple-cameras-with-the-raspberry-pi-and-opencv/

以前人们用C ++做过这个,但是使用python对我来说似乎很难。

python opencv image-processing video-streaming video-capture
3个回答
0
投票

下面的代码工作,我已经测试过,所以如果你使用两个摄像头1一个网络摄像头,另一个是usb凸轮,(如果两个都是usb cam,调整视频捕获数字)

导入cv2

cap1 = cv2.VideoCapture(0)

cap2 = cv2.VideoCapture(1)

而1:

ret1,img1 = cap1.read()

ret2,img2 = cap2.read()

如果ret1和ret2:

  cv2.imshow('img1',img1)
  cv2.imshow('img2',img2)

  k = cv2.waitKey(100) 
  if k == 27: #press Esc to exit
     break

cap1.release()

cap2.release()

cv2.destroyAllWindows()


0
投票

我对R_Pi和2个凸轮的经验表明,R_Pi上的GPU是限制的。我使用setup来分配更多GPU内存到512Mb。使用2个凸轮可以减速超过10 fps。此外,USB端口限制了视频流。


0
投票

一种解决方案是将每个摄像头放在它自己的USB控制器上。我使用4通道PCIe卡做到了这一点。该卡必须为每个端口配备一个单独的控制器。我刚刚完成了一个项目,我从4个ELP USB摄像头拍摄图像,将图像合并为一个,然后将其写入磁盘。我花了几天时间试图让它发挥作用。我找到了两个相机的例子,这些相机可以用我的笔记本电脑和外部相机,但不是两个外部相机。内部摄像头位于与外部端口不同的USB控制器上...

© www.soinside.com 2019 - 2024. All rights reserved.