名仕亚洲|Home

    C++ 双路红外流示例代码-Double Infrared Viewer

    # 双红外示例-DoubleInfraredViewer

     

    支持设备:仅支持Gemini 330系列,Gemini 2 XL,Gemini 2 VL

     

    功能描述:演示获取双红外相机图像,显示左右红外图像,并通过ESC_KEY键退出程序

     

    >本示例基于C++ High Level API进行演示

     

    创建Pipeline, 获取设备

    ob::Pipeline pipe

     

    配置左IR

    // Get the ir_left camera configuration list
    auto irLeftProfiles = pipe.getStreamProfileList(OB_SENSOR_IR_LEFT);

    if(irLeftProfiles == nullptr) {
        std::cerr
            << "The obtained IR(Left) resolution list is NULL. For monocular structured light devices, try opening the IR data stream using the IR example. "
            << std::endl;
        return 0;
    }

    // Open the default profile of IR_LEFT Sensor, which can be configured through the configuration file
    try {
        auto irLeftProfile = irLeftProfiles->getProfile(OB_PROFILE_DEFAULT);
        config->enableStream(irLeftProfile->as<ob::VideoStreamProfile>());
    }
    catch(...) {
        std::cout << "IR(Left) stream not found!" << std::endl;
    }

     

    配置右IR

    // Get the ir_right camera configuration list
    auto irRightProfiles = pipe.getStreamProfileList(OB_SENSOR_IR_RIGHT);

    // Open the default profile of IR_RIGHT Sensor, which can be configured through the configuration file
    try {
        auto irRightProfile = irRightProfiles->getProfile(OB_PROFILE_DEFAULT);
        config->enableStream(irRightProfile->as<ob::VideoStreamProfile>());
    }
    catch(...) {
        std::cout << "IR(Right) stream not found!" << std::endl;
    }

     

    开启pipeline

    pipe.start(config);

     

    获取帧数据

    auto leftFrame  = frameSet->getFrame(OB_FRAME_IR_LEFT);
    auto rightFrame = frameSet->getFrame(OB_FRAME_IR_RIGHT)

     

    停止pipeline

    pipe.stop();

     

    预期输出:

    image.png 


    产品大图