记录第一次Intel Realsense D435i之读取红外双目图像+深度图

本文记录了作者在Linux环境下使用Intel Realsense D435i进行开发时遇到的问题及解决方法,包括库的链接问题和16位图像转换到8位图像的挑战。在图像转换过程中,由于原始深度图的像素值范围和opencv Mat的灰度值范围不同,直接转换会导致图像显示为黑色。作者探讨了保持数据真实性与视觉效果之间的平衡,同时寻找将远白近黑的深度图转化为远黑近白的方法。
摘要由CSDN通过智能技术生成

记录第一次Intel Realsense的开发之路

今天实验室新置办的D435i到了,然后需要调试一下,这款D435i是D435的升级版,二者仅仅差了一个imu(D435i有imu),其余并无差别(官网上是这样说的),然后在某东上买的,一共1999(带发票).
先是配置开发环境,网上有很多博客已经写了,这里就不做赘述,**只是要注意在各种包含目录下要记得加上include文件夹或者是lib文件夹**,要不然就会报错。
因为我们实验室这个项目是做双目的,但是在官方的Viewer里是没有给显示左右红外双目图像的功能,因此本片博客就写一下如何使用Opencv来读取双目IR图像与深度图。下面直接上代码吧。(笔者能力有限,有些地方做的不是特别好,希望读者能给予批评指正,另外也非常希望有从事结构光,双目视觉方面研究的同学与我联系,大家共同进步)

代码如下:
#include <iostream>
#include <sstream>
#include <iostream>
#include <fstream>
#include <algorithm>
#include<string>
#include<opencv2/imgproc/imgproc.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<librealsense2/rs.hpp>
#include<librealsense2/rsutil.h>

using n
OpenCV是一个开源的计算机视觉库,可以用于处理图像和视频数据,包括读取和写入图像数据。 realsense d435i是英特尔推出的一款深度相机,可以获取深度信息和RGB图像。 要读取realsense d435i的RGB图像,可以使用OpenCV中的cv::VideoCapture类来实现。首先,需要安装realsense SDK并配置环境,然后在代码中初始化VideoCapture对象,并设置参数。 下面是一个简单的示例代码: ``` #include <opencv2/opencv.hpp> #include <librealsense2/rs.hpp> using namespace cv; using namespace rs2; int main(int argc, char* argv[]) { // Declare RealSense pipeline, encapsulating the actual device and sensors pipeline pipe; // Start streaming with default configuration pipe.start(); // Create a VideoCapture object to read from the RealSense camera VideoCapture cap(pipe); // Check if camera opened successfully if (!cap.isOpened()) { std::cout << "Error opening video stream or file" << std::endl; return -1; } // Read and display frames from camera while (1) { Mat frame; // Capture frame-by-frame cap >> frame; // If the frame is empty, break immediately if (frame.empty()) break; // Display the resulting frame imshow("RGB Image", frame); // Press Esc on keyboard to exit if (waitKey(1) == 27) break; } // When everything done, release the video capture object cap.release(); // Closes all the frames destroyAllWindows(); return 0; } ``` 这个程序中,我们首先声明一个RealSense pipeline对象pipe,然后启动流水线。接着我们创建一个VideoCapture对象cap,并将pipe传递给它以读取RGB图像。最后,在while循环中读取每一帧图像并显示它们。
评论 59
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值