-1

下面用于从 4 网络摄像头获取实时视频源。但是我写的所有代码都仅限于四个摄像头。我想让这段代码动态化。如果连接了两个摄像头,它应该只显示两个窗口,如果连接了 3 个,它应该显示 3 个窗口。我正在获取连接到系统的摄像头数量。我想为该数量的相机实现代码。有人可以指出我正确的方向。

using namespace cv;

int main(){

//Create matrix to store image
Mat image;
Mat image1;
Mat image2;
Mat image3;

//Mat image1;
//initailize capture
videoInput VI;
int numDevices = VI.listDevices(); //getting number of camera attached to system                     dynamically.   
VideoCapture cap;
VideoCapture cap1;
VideoCapture cap2;
VideoCapture cap3;

bool x = false;
//VideoCapture cap1;
cap.open(0);
cap1.open(1);
cap2.open(2);
cap3.open(3);

namedWindow("Camera 1",1);
namedWindow("Camera 2",1);
namedWindow("Camera 3",1);
namedWindow("Camera 4",1);

while(1){
    //copy webcam stream to image
    cap >> image;
    cap1 >> image1;
    cap2 >> image2;
    cap3 >> image3;
    cap4 >> image4;
    //cap1 >> image1;
    imshow("Camera 1",image);
    imshow("Camera 2",image1);
    imshow("Camera 3",image2);
    imshow("Camera 4",image3);

    //imshow("Camera 2",image1);
    //delay 33ms
    waitKey(33);
}
 }
4

1 回答 1

0

网络摄像头的链接通常是直接的 http 链接。因此,只需为每个网络摄像头链接创建一个具有单独框架的静态 html 文件,然后使用 html 代码按照您想要查看的方式排列这些框架。在应用程序的嵌入式浏览器中启动此静态 html 页面。

于 2013-10-24T22:21:30.127 回答