Intel RealSense相機開發 + OpenCV + Visual Studio 配置教程
- 一、Visual Studio 的安裝配置
- 作業回顧
- 二、OpenCV 的下載與安裝
- 作業回顧
- 三、Visual Studio 下 OpenCV 的環境配置
- 作業回顧
- 四、Visual Studio 下 Intel RealSense相機的環境配置
- 1.Intel RealSense相機的 SDK 的下載
- 2.Intel RealSense相機的 SDK 的安裝
- 3.Windows系統下 Intel RealSense相機的環境配置
- 4.Visual Studio 下 Intel RealSense相機的環境配置
- (1)創建新專案
- (2)配置屬性
- 五、代碼運行測驗
- 1.測驗代碼
- T265 相機
- D415 相機
- 2.運行結果
- T265 相機
- D415 相機
一、Visual Studio 的安裝配置
作業回顧
可參考我之前的博客作業:點擊此處跳轉
二、OpenCV 的下載與安裝
作業回顧
可參考我之前的博客作業:點擊此處跳轉
三、Visual Studio 下 OpenCV 的環境配置
作業回顧
可參考我之前的博客作業:點擊此處跳轉
四、Visual Studio 下 Intel RealSense相機的環境配置
1.Intel RealSense相機的 SDK 的下載
Intel RealSense相機的 SDK 可以在 Intel 官方的 GitHub 上下載:點擊此處跳轉

Windows系統下,點擊下載【紅色框內的 win10 版本】,外網的原因,下載的速度可能會比較慢,可以復制下載鏈接到迅雷;
或者可以下載我上傳 CSDN 的2.42.0版本:點擊此處跳轉
又或者可以下載我百度網盤分享的2.42.0版本:點擊此處跳轉百度網盤分享,提取碼:qudl

2.Intel RealSense相機的 SDK 的安裝
雙擊剛才下載的**【.exe安裝程式】**,一直【Next】,最后【Install】





安裝成功之后桌面會出現這三個圖示

Intel RealSense Viewer和Depth Quality Tool for Intel RealSense Cameras 可以直接被相機呼叫,從而顯示影像,包括深度圖、RGB圖以及魚眼影像等等;Examples for Intel RealSense SDK 2.0:提供了官方例程,
3.Windows系統下 Intel RealSense相機的環境配置
Intel RealSense相機的環境配置類似于 Visual Studio 下 OpenCV 的環境配置
- 右鍵單擊【此電腦】,點擊左側【高級系統設定】,點擊【環境變數】,雙擊【Path】變數,點擊【新建】,然后再點擊【瀏覽】

- 找到C盤下的 【Intel RealSense SDK2.0】 進行添加,添加成功是這個樣子

- 一定要逐個視窗點擊確定,依次退出,否則環境沒有配置上
4.Visual Studio 下 Intel RealSense相機的環境配置
(1)創建新專案
參考之前的 博客:三、使用 這一部分
(2)配置屬性
-
單擊 visual studio 上方的【視圖】,在下拉欄里找到【其他視窗】下的【屬性管理器】,并點擊

-
保證左右兩側的對應值相同

-
新建屬性表



- 包含目錄的配置
雙擊新建的 realsense_opencv_64 屬性表,點擊【通用屬性】,點擊【VC++目錄】,點擊【包含目錄】右側的下拉按鈕,點擊【編輯】

點擊紅色框內的圖示,創建新的一行包含目錄,點擊瀏覽,選擇 C:\Program Files (x86)\Intel RealSense SDK 2.0\include 和 C:\Program Files (x86)\Intel RealSense SDK 2.0\include\librealsense2 這2個路徑進行添加

添加完路徑之后,點擊【確定】

- 庫目錄的配置
雙擊新建的 realsense_opencv_64 屬性表,點擊【通用屬性】,點擊【VC++目錄】,點擊【庫目錄】右側的下拉按鈕,點擊【編輯】

點擊紅色框內的圖示,創建新的一行包含目錄,點擊瀏覽,選擇C:\Program Files (x86)\Intel RealSense SDK 2.0\lib\x64 路徑進行添加

- 附加依賴項的配置
雙擊新建的 realsense_opencv_64 屬性表,點擊【通用屬性】,點擊【聯結器】,點擊【輸入】,點擊【附加依賴項】右側的下拉按鈕,點擊【編輯】

- 在彈出的對話框中直接手動輸入 realsense2.lib,依次點擊確定退出,

五、代碼運行測驗
1.測驗代碼
T265 相機
#include <librealsense2/rs.hpp>
#include <opencv2/opencv.hpp>
int main() {
rs2::config cfg;// 創建一個配置資訊
cfg.enable_stream(RS2_STREAM_FISHEYE, 1, RS2_FORMAT_Y8);// Intel T265 相機進行測驗
cfg.enable_stream(RS2_STREAM_FISHEYE, 2, RS2_FORMAT_Y8);//進行使能,告訴配置資訊,我需要傳感器的影像frame資料
rs2::pipeline pipe;// 宣告一個realsense傳感器設備
pipe.start(cfg);
rs2::frameset data;
while (1) {
data = pipe.wait_for_frames();
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;
}
D415 相機
// 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 <opencv2/opencv.hpp> // Include OpenCV API
int main(int argc, char * argv[]) try
{
// Declare depth colorizer for pretty visualization of depth data
rs2::colorizer color_map;
// Declare RealSense pipeline, encapsulating the actual device and sensors
rs2::pipeline pipe;
// Start streaming with default recommended configuration
pipe.start();
using namespace cv;
const auto window_name = "Display Image";
namedWindow(window_name, WINDOW_AUTOSIZE);
while (waitKey(1) < 0 )
{
rs2::frameset data = pipe.wait_for_frames(); // Wait for next set of frames from the camera
rs2::frame depth = data.get_depth_frame().apply_filter(color_map);
// Query frame size (width and height)
const int w = depth.as<rs2::video_frame>().get_width();
const int h = depth.as<rs2::video_frame>().get_height();
// Create OpenCV matrix of size (w,h) from the colorized depth data
Mat image(Size(w, h), CV_8UC3, (void*)depth.get_data(), Mat::AUTO_STEP);
// Update the window with new data
imshow(window_name, image);
}
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;
}
2.運行結果
T265 相機

D415 相機

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297235.html
標籤:其他
