此为最快安装法不是源码编译安装,同时实例只有c++,python没写
直接点开官方github的指导。
https://github.com/IntelRealSense/librealsense/blob/v2.50.0/doc/distribution_linux.md
执行红色命令,及得C++得先支持一下11 如何升级g ++ 看链接
Ubuntu下升级gcc/g++_grllery的博客-CSDN博客_ubuntu升级g++
中间如果链接不成功 来个vpn
完成之后测试一下
c++ 代码如下
#include<iostream>
#include<string>
#include <opencv2/opencv.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include <librealsense2/rs.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv)
{
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_FISHEYE, 1, RS2_FORMAT_Y8);
cfg.enable_stream(RS2_STREAM_FISHEYE, 2, RS2_FORMAT_Y8);
cfg.enable_stream(RS2_STREAM_POSE, RS2_FORMAT_6DOF);
rs2::pipeline pipe;
pipe.start(cfg);
rs2::frameset data;
while (1)
{
data = pipe.wait_for_frames();
// Get a frame from the pose stream
auto f = data.first_or_default(RS2_STREAM_POSE);
auto pose = f.as<rs2::pose_frame>().get_pose_data();
cout << "px: " << pose.translation.x << " py: " << pose.translation.y << " pz: " << pose.translation.z <<
"vx: " << pose.velocity.x << " vy: " << pose.velocity.y << " vz: " << pose.velocity.z << endl;
cout << "ax: " << pose.acceleration.x << " ay: " << pose.acceleration.y << " az: " << pose.acceleration.z <<
"gx: " << pose.angular_velocity.x << " gy: " << pose.angular_velocity.y << " gz: " << pose.angular_velocity.z << endl;
rs2::frame image_left = data.get_fisheye_frame(1);
rs2::frame image_right = data.get_fisheye_frame(2);
if (!image_left || !image_right)
break;
cv::Mat cv_image_left(cv::Size(848, 800), CV_8U, (void*)image_left.get_data(), cv::Mat::AUTO_STEP);
cv::Mat cv_image_right(cv::Size(848, 800), CV_8U, (void*)image_right.get_data(), cv::Mat::AUTO_STEP);
cv::imshow("left", cv_image_left);
cv::imshow("right", cv_image_right);
cv::waitKey(1);
}
return 0;
}
编写 cmakelist.txt 如下
cmake_minimum_required(VERSION 2.8)
project(realsense)
IF(NOT CMAKE_BUILD_TYPE) # 判断是否有默认的CMAKE_BUILD_TYPE类型
SET(CMAKE_BUILD_TYPE Release) # 如果没有set设置CMAKE_BUILD_TYPE类型为debug
ENDIF()
MESSAGE("Build type: " ${CMAKE_BUILD_TYPE}) # message是输出的信息的意思,获取索引变量CMAKE_BUILD_TYPE
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=native ") # 添加C的编译选项
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") # 添加C++编译选项
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_definitions(-DCOMPILEDWITHC11)
message(STATUS "Using flag -std=c++11.")
elseif(COMPILER_SUPPORTS_CXX0X)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
add_definitions(-DCOMPILEDWITHC0X)
message(STATUS "Using flag -std=c++0x.")
else()
message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
find_package(OpenCV 3.0 REQUIRED)
find_package(realsense2 REQUIRED)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR})
file(GLOB SRC_LIST "src.cpp")
add_executable(main ${SRC_LIST})
target_link_libraries(main
${OpenCV_LIBS}
${realsense2_LIBRARY}
)
运行
得到结果成功,同时拿到左右目摄像头数据和实时imu数据