【发布时间】:2018-01-24 15:20:58
【问题描述】:
我在win10 opencv3.4上使用了两台GigE(basler aca2500-14gm)相机,我将两台相机的线连接到交换机,然后连接到我的电脑。但是我无法打开相机并同时获取帧。 我的代码: `
int main()
{
PylonInitialize();
VideoCapture cap(0);
VideoCapture cap1(2);
if (!cap.isOpened())
{
cout << "Camera 1 unsuccessfully opened" << endl;
}
if (!cap1.isOpened())
{
cout << "Camera 2 unsuccessfully opened" << endl;
}
bool stop = false;
while (!stop)
{
Mat frame;
Mat frame1;
cap >> frame;
cap1 >> frame1;
if (frame.empty() || frame1.empty())
{
break;
}
imshow("Open the camera 1", frame);
imshow("Open the camera 2", frame1);
if (waitKey(100) >= 0)
{
PylonTerminate();//
stop = true;
}
}
}`
顺便说一句,当我尝试运行 basler SDK 示例时:Grab_MultipleCameras.cpp, 我可以打开相机,但窗口中的图像是灰色的。
有人帮我解决这个问题吗? 提前致谢。
【问题讨论】:
-
你为什么使用
cap(0)和cap(2)而不是cap(0)和cap(1)?你可以单独打开每个相机吗?如果以相反的顺序打开这两个会发生什么? -
我可以单独打开每个相机,如果我颠倒顺序,cap(0)可以打开并获取框架。我也尝试了不同的ID cap(1)到cap(10),仍然有一个camera(cap(0)) 可以工作。