[英]Is it possible to use cv2.Videocapture to access video devices greater than 7 index on Ubuntu 18.04?
Currently trying to simultaneously capturing 10 images with 10 usb cameras connected to a Raspberry Pi 4 (through board USB ports and usb hub) with Ubuntu 18.04 installed. 我正在使用多線程方法來創建多個將捕獲照片的相機對象。 我目前有 4 個攝像頭工作(這上升到 /dev/video7,每個物理攝像頭占用 2 個設備索引。
我目前遇到的問題是訪問任何大於 7 索引的相機設備(將無法訪問 5 或更高的物理相機)。 我目前收到以下錯誤:
“視頻錯誤:V4L:索引 8 不正確!”
它與位於 modules/videoio/src/cap_v4l.cpp 的 opencv_3.4.1 源文件相關聯。 在這個源文件中,它提到它已針對多達 8 個輸入進行了測試,是否有人設法獲得超過 8 個輸入設備來使用 Raspberry Pi 拍攝照片?
我還將添加一些我已經嘗試過的調試信息。
任何幫助或建議表示贊賞,謝謝。
經過無休止的調試,我找到了一種解決方法,該方法允許我使用索引高於 7 的相機捕獲圖像。在下面的第一行代碼中創建 VideoCapture() object 后,這會導致 VIDEOIO ERROR 仍然發生。 在此之后,我檢查相機是否正確打開,如果沒有,我繼續打開相機,然后再工作。
self.cam = cv2.VideoCapture(camID)
if(self.cam.isOpened() is False):
self.cam.open("/dev/video" + str(camID))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.