首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能和opencv同时打开2GigE(Basler)相机

我不能和opencv同时打开2GigE(Basler)相机
EN

Stack Overflow用户
提问于 2018-01-23 02:12:18
回答 1查看 1.3K关注 0票数 0

我在win10 opencv3.4上使用了两个win10摄像头(basler can 2500-14‘m),我把两个摄像头的电线连接到交换机上,然后把它连接到我的computer.but上--我不能同时打开相机和获取帧。我的代码:‘

代码语言:javascript
复制
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 :Grab_MultipleCameras.cpp示例时,我可以打开相机,但是窗口中的图像是灰色的。

有人帮我解决这个问题吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-01-23 06:47:05

当您运行这个basler示例时,可能会发生第二个相机仍然不能打开的情况,但它只会显示带有柔和颜色(灰色)的窗口。

另一个可能的情况是,您传递了错误的设备ID以使VideoCapture工作,请参阅此OpenCv VideoCap文档。另外,据我所知,如果您使用的是GigE相机,最好将每个摄像头的ip地址传递给VideoCapture。

因此,我想说的只是尝试改变代码中的一个想法:

从…

代码语言:javascript
复制
VideoCapture cap(0);
VideoCapture cap1(2);

至:

代码语言:javascript
复制
VideoCapture cap(/*camera Ip Address*/);  //or try with different IDs
VideoCapture cap1(/*camera Ip Address*/);

还请看一下这个答案VideoCapture和GigE相机。据说,当有一个以上的相机,你会更好地传递IP地址。

另一件要检查的事情是,你是否可以在你的设备管理器中看到两个摄像头。

编辑:

嘿,我找到了关于使用Pylon (来自相机供应商) andOpenCV的很好的文档(它可能是OpenCV的旧版本,但仍然很有用)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48393157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档