(注)自分用の備忘録なので体裁とかは適当です
カメラの視野角とかを取得したいとき
・まずはpipelineを宣言してスタート
rs2::pipeline pipe;
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_DEPTH, 640, 480, RS2_FORMAT_Z16, 30);
cfg.enable_stream(RS2_STREAM_COLOR, 640, 480, RS2_FORMAT_BGR8, 30);
rs2::pipeline_profile profile = pipe.start(cfg);
・赤外線カメラの情報を取得したいときは
rs2_intrinsics ntrinsics = profile.get_stream(RS2_STREAM_DEPTH).as<rs2::video_stream_profile>().get_intrinsics();
rs2_intrinsics型は構造体であり,メンバ変数に画像サイズや焦点距離などを保持している(詳細はここ).
例えば縦幅と焦点距離から垂直視野角を計算したいときは以下のようになる.
float height = intrinsics.height;
float fy = intrinsics.fy;
float fovy = atan(height / (2. * fy))
ここでfovyはラジアンとなることに注意.