opencv多攝像頭測試

2021-06-27 15:35:50 字數 1681 閱讀 1784

因為要做雙目視覺,所以要用多個攝像頭。

多攝像頭的方案有兩種,一種是usb攝像頭,第二種是網口攝像頭。

按開發環境分windows和linux。

我先測試win7下的多攝像頭。因為筆記本有4個usb口,我手頭有兩個羅技c170和另乙個牌子的webcam,加上我筆記本自帶的攝像頭,另外有乙個飈王usb2.0hub。

測試1:

將兩個羅技c170插在我筆記本的usb上,opencv執行後可同時開啟三個攝像頭。

測試2:

兩個羅技插在usbhub上,再連到電腦。這時不能開啟所有攝像頭。

測試3:

乙個羅技,乙個普通webcam插在usbhub上,再連到電腦。同樣不可開啟。

根據上面的測試初步判斷是usbhub不能同時傳兩路影象出來,但不是速度不夠,而是位址問題(個人猜測)。

測試4:

還能做的:試一下usb3.0的hub,不知道能不能解決這個問題。

附**:

#include #include using namespace std;

int main()

img1 = cvqueryframe(cap1);

if(!img1)

img2 = cvqueryframe(cap2);

if(!img2)

cvshowimage("camera0", img0);

cvshowimage("camera1", img1);

cvshowimage("camera2", img2);

char c = cvwaitkey(33);

if(c == 27)

break;

} cvreleasecapture(&cap0);

cvreleasecapture(&cap1);

cvreleasecapture(&cap2);

cvdestroywindow("camera0");

cvdestroywindow("camera1");

cvdestroywindow("camera2");

return 0;

}

附**:

#include #include using namespace std;

int main()

img1 = cvqueryframe(cap1);

if(!img1)

img2 = cvqueryframe(cap2);

if(!img2)

cvshowimage("camera0", img0);

cvshowimage("camera1", img1);

cvshowimage("camera2", img2);

char c = cvwaitkey(33);

if(c == 27)

break;

} cvreleasecapture(&cap0);

cvreleasecapture(&cap1);

cvreleasecapture(&cap2);

cvdestroywindow("camera0");

cvdestroywindow("camera1");

cvdestroywindow("camera2");

return 0;

}

OPENCV讀取攝像頭

opencv highgui cvcreatecameracapture 或cvcapturefromcam windows 中都是由較為低效的 vfw機制實現的,不適合在最終產品中使用。在 windows 中使用directshow opencv 中文網的 yushiqi 提供了乙個基於 dire...

OpenCV攝像頭讀取

在mac下面使用預設的opencv讀取攝像頭程式會報錯 int main int,char videocapture cap 0 open the default camera if cap.isopened check if we succeeded return 1 mat edges name...

OpenCV 啟動攝像頭

1.cvcreatecameracapture 從攝像頭或者檔案中抓取並返回一幀 iplimage cvqueryframe cvcapture capture 函式cvqueryframe從攝像頭或者檔案中抓取一幀,然後解壓並返回這一幀。這個函式僅僅是函式cvgrabframe和函式cvretri...