关于librealsense2的英特尔实感编程

时间:2018-07-02 08:40:27

标签: c++ realsense

我想获取1280x720深度图像和1280x720彩色图像。

所以我以coded的身份成立了:

// License: Apache 2.0. See LICENSE file in root directory.
// Copyright(c) 2017 Intel Corporation. All Rights Reserved.

#include "librealsense2/rs.hpp" // Include RealSense Cross Platform API
#include "example.hpp"          // Include short list of convenience functions for rendering
#include "opencv2/opencv.hpp"
#include <iostream>
#include "stb-master\stb_image_write.h"


using namespace std;
using namespace cv;


// Capture Example demonstrates how to
// capture depth and color video streams and render them to the screen



int main(int argc, char * argv[]) try
{
    int width = 1280;
    int height = 720;
    rs2::log_to_console(RS2_LOG_SEVERITY_ERROR);
    // Create a simple OpenGL window for rendering:
    window app(width, height, "RealSense Capture Example");
    // Declare two textures on the GPU, one for color and one for depth
    texture depth_image, color_image;

    // Declare depth colorizer for pretty visualization of depth data
    rs2::colorizer color_map;
    color_map.set_option(RS2_OPTION_HISTOGRAM_EQUALIZATION_ENABLED,1.f);
    color_map.set_option(RS2_OPTION_COLOR_SCHEME, 2.f);

    // Declare RealSense pipeline, encapsulating the actual device and sensors
    rs2::pipeline pipe;
    // Start streaming with default recommended configuration

    pipe.start();

    while (app) // Application still alive?
    {
        rs2::frameset data = pipe.wait_for_frames(); // Wait for next set of frames from the camera

        rs2::frame depth = color_map(data.get_depth_frame()); // Find and colorize the depth data
        rs2::frame color = data.get_color_frame();            // Find the color data

                                                              // For cameras that don't have RGB sensor, we'll render infrared frames instead of color
        if (!color)
            color = data.get_infrared_frame();

        // Render depth on to the first half of the screen and color on to the second
        depth_image.render(depth, { 0,               0, app.width() / 2, app.height() });
        color_image.render(color, { app.width() / 2, 0, app.width() / 2, app.height() });
    }

    return EXIT_SUCCESS;
}
catch (const rs2::error & e)
{
    std::cerr << "RealSense error calling " << e.get_failed_function() << "(" << e.get_failed_args() << "):\n    " << e.what() << std::endl;
    return EXIT_FAILURE;
}
catch (const std::exception& e)
{
    std::cerr << e.what() << std::endl;
    return EXIT_FAILURE;
}

我想要这个。.

  1. c <-键盘值
  2. 将彩色图像和深度图像保存在PNG孔中

我可以获得关于code的{​​{1}}。 但是,当我按下“ c”按钮

时,我不知道该如何调用该操作

我想我必须使用这个2

example.hpp

此代码在librealsense 1.X版本中使用。我想将其更改为librealsense 2.0版本代码。但是我不知道该怎么办。

如何更改此代码?

感谢阅读!

0 个答案:

没有答案
相关问题