[問題] OpenCV是否能指定Webcam的讀取順序?

看板C_and_CPP (C/C++)作者 (UprisingJC)時間13年前 (2012/11/05 16:44), 編輯推噓0(006)
留言6則, 2人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) OpenCV 2.3.1 問題(Question): 我目前寫的程式會用到3個cam。我把這三個cam並鄰地擺在一起但彼此面向不同方向 程式內容我是指定先讀取中間cam的影像,再讀取右邊以及左邊的影像,但只要3個camera 插上電腦,結果都沒辦法如我意。 我原本在想是否可能跟接上pc的順序有關,但後來試過把各個camera接上電腦的順序改變 ,結果也還是一樣。 請問有辦法指定camera讀取順序嗎? 程式碼(Code):(請善用置底文網頁, 記得排版) #define WIDTH 400 #define HEIGHT 300 VideoCapture cam1, cam2; //Middle and right cameras VideoCapture cam3; //Left camera cam1.open(0); cam2.open(1); cam3.open(2); cam1.set(CV_CAP_PROP_FRAME_WIDTH, WIDTH); cam1.set(CV_CAP_PROP_FRAME_HEIGHT, HEIGHT); cam2.set(CV_CAP_PROP_FRAME_WIDTH, WIDTH); cam2.set(CV_CAP_PROP_FRAME_HEIGHT, HEIGHT); cam3.set(CV_CAP_PROP_FRAME_WIDTH, WIDTH); cam3.set(CV_CAP_PROP_FRAME_HEIGHT, HEIGHT); Mat frm1, frm2; Mat frm3; while(true) { cam1 >> frm1; //Reference plane cam2 >> frm2; //Right-side cam3 >> frm3; //Left-side imshow("Mid",frm1); imshow("Right",frm2); imshow("Left",frm3); char d=waitKey(40); if (d==27) break; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.199.233

11/05 19:05, , 1F
你開三個videocapture就好,分邊指定到你要的
11/05 19:05, 1F

11/05 19:05, , 2F
你那個編號就是你要的了啊,還是從port的編號下手?
11/05 19:05, 2F

11/05 22:15, , 3F
我就是開三個videocapture阿 但不管我三個camera接到pc的
11/05 22:15, 3F

11/05 22:17, , 4F
順序為何 就是沒有辦法讓擺中間的cam顯示在Mid視窗
11/05 22:17, 4F

11/05 22:17, , 5F
右邊的cam顯示在Right視窗 以及左邊的cam顯示在Left
11/05 22:17, 5F

11/05 22:18, , 6F
所以我才在想有沒有辦法從port去下手...
11/05 22:18, 6F
文章代碼(AID): #1GbtnJkf (C_and_CPP)
文章代碼(AID): #1GbtnJkf (C_and_CPP)