溫馨提示×

Ubuntu下RealSense的多攝像頭管理

小樊
82
2024-09-04 04:21:37
欄目: 智能運維

在Ubuntu下使用RealSense多攝像頭,你需要遵循以下步驟:

  1. 安裝Intel RealSense SDK:

    首先,確保你已經(jīng)安裝了Intel RealSense SDK。如果沒有,請訪問官方GitHub倉庫并按照說明進(jìn)行安裝。

  2. 連接攝像頭:

    將所有RealSense攝像頭連接到計算機上。確保每個攝像頭都已正確連接,并且能夠單獨工作。

  3. 編寫代碼:

    使用C++或Python編寫一個簡單的程序來管理多個攝像頭。以下是一個使用C++的示例:

    #include<iostream>
    #include <librealsense2/rs.hpp>
    
    int main() {
        rs2::context ctx;
        auto devices = ctx.query_devices();
    
        if (devices.size() == 0) {
            std::cerr << "No RealSense devices found!"<< std::endl;
            return -1;
        }
    
        for (auto dev : devices) {
            std::cout << "Device: "<< dev.get_info(RS2_CAMERA_INFO_NAME)<< std::endl;
            std::cout << "Serial Number: "<< dev.get_info(RS2_CAMERA_INFO_SERIAL_NUMBER)<< std::endl;
        }
    
        // 選擇第一個設(shè)備
        rs2::device device = devices[0];
    
        // 創(chuàng)建配置文件
        rs2::config cfg;
        cfg.enable_stream(RS2_STREAM_COLOR, 640, 480, RS2_FORMAT_BGR8, 30);
        cfg.enable_stream(RS2_STREAM_DEPTH, 640, 480, RS2_FORMAT_Z16, 30);
    
        // 創(chuàng)建管道
        rs2::pipeline pipe;
        pipe.start(cfg);
    
        while (true) {
            rs2::frameset frames = pipe.wait_for_frames();
            rs2::frame color_frame = frames.get_color_frame();
            rs2::frame depth_frame = frames.get_depth_frame();
    
            // 處理幀數(shù)據(jù)...
        }
    
        return 0;
    }
    

    這個示例代碼首先查詢連接的設(shè)備,然后選擇第一個設(shè)備并為其創(chuàng)建一個配置文件。接下來,它創(chuàng)建一個管道并開始獲取幀。你可以根據(jù)需要修改此代碼以處理多個設(shè)備。

  4. 編譯和運行代碼:

    使用g++或其他C++編譯器編譯代碼,并確保鏈接RealSense庫。然后運行生成的可執(zhí)行文件。

  5. 調(diào)試和優(yōu)化:

    根據(jù)需要調(diào)試和優(yōu)化代碼,以實現(xiàn)所需的功能。你可能需要處理多個設(shè)備的數(shù)據(jù),例如同步幀、設(shè)置參數(shù)等。

通過遵循這些步驟,你應(yīng)該能夠在Ubuntu下使用RealSense多攝像頭。如果遇到任何問題,請查閱官方文檔以獲取更多信息。

0