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

标签 python opencv image-processing video-streaming video-capture

<分区>

我在项目工作中使用 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 对我来说似乎很难。

最佳答案

下面的代码有效并且我已经测试过了,所以如果你使用两个摄像头,一个是网络摄像头,另一个是 USB 摄像头,(如果两个都是 USB 摄像头,则调整视频捕获编号)

import cv2


cap1 = cv2.VideoCapture(0)
cap2 = cv2.VideoCapture(1)

while 1:

  ret1, img1 = cap1.read()
  ret2, img2 = cap2.read()

  if ret1 and 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()

关于python - 如何使用 OpenCV 从多个摄像头捕获实时视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48814216/

相关文章:

c++ - 使用 OpenCV 进行相机校准

image - 什么是 "do-nothing"卷积核

python - 无法在python中保存PIL图像

python - 导入错误 : No module named cv2

python - 如何从 Qtable 获取值

python - 在两个列表中查找重叠对象的最快方法

opencv - 在 nanoserver Docker 容器中使用 OpenCV 运行 .NET Core 2.0 C# 模块

python类默认值继承

python - 如何在openCV,python中找到旋转和裁剪一段文本

javascript - 可以使用 javascript 更改图像调色板吗?