[英]How to use OpenCV to capture live video feed from multiple cameras?
我在項目工作中使用的是Opencv 3和python 3.6。 我想一次設置多台攝像機,以一次查看所有攝像機的視頻。 我想使用它進行面部識別。 但是,沒有做到這一點的好方法。 這是我跟蹤的一個鏈接,但沒有任何反應: 一次從OpenCV中的兩個攝像機讀取
我也嘗試過此博客文章,但是它一次只能從視頻中捕獲一張圖像,而不能顯示實時視頻。 https://www.pyimagesearch.com/2016/01/18/multiple-cameras-with-the-raspberry-pi-and-opencv/
以前人們使用C ++做到這一點,但是使用python對我來說似乎很困難。
下面的代碼有效並且我已經對其進行了測試,因此,如果您使用兩個攝像頭1(一個攝像頭,另一個是USB攝像頭),(如果兩個攝像頭都是USB攝像頭,請調整視頻捕獲編號)
導入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()
我對R_Pi和2個攝像頭的體驗表明,限制是R_Pi上的GPU。 我使用設置將更多的GPU內存分配給512Mb。 使用2個凸輪時,其速度會超過10 fps。 而且,USB端口限制了視頻流。
一種解決方案是將每個攝像機放在其自己的USB控制器上。 我是使用4通道PCIe卡完成此操作的。 該卡的每個端口必須有一個單獨的控制器。 我剛剛完成一個項目,在該項目中我從4個ELP USB攝像機捕捉圖像,將圖像合並為一個,然后將其寫入磁盤。 我花了幾天的時間試圖使其工作。 我找到了兩個與筆記本電腦相機和一個外接相機搭配使用但沒有兩個外接相機搭配使用的相機的示例。 內置攝像頭與外部端口位於不同的USB控制器上...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.