济宁专业网站建设,西安营销型网站建设动力无限,起飞页自助建站平台的特点,亚星网站代理双目视觉传感器 Indemind 传感器简介 INDEMIND M1 是专为开发者提供的一款硬件#xff0c;采用“双目摄像头IMU”多传感器融合架构与 微秒级时间同步机制#xff0c;为视觉 SLAM 研究提供精准稳定数据源#xff0c;以满足 SLAM 研究、导航及 避障开发、视觉动作捕捉开发、… 双目视觉传感器 Indemind 传感器简介 INDEMIND M1 是专为开发者提供的一款硬件采用“双目摄像头IMU”多传感器融合架构与 微秒级时间同步机制为视觉 SLAM 研究提供精准稳定数据源以满足 SLAM 研究、导航及 避障开发、视觉动作捕捉开发、立体视觉开发等使用需求。 它的几个重要特点列举如下 两个全局快门相机灰度图像输出到 USB 口。 广角相机水平视野 120 度垂直视野 75 度。 图像在 1280x800 分辨率下最高达到 100Hz640x400 分辨率下最高 200Hz属于高速相机。 IMU 型号为 ICM-20602性能和 MPU 6050 差不多最高可以达到 1000Hz并且与图像硬 同步。 基线为 12cm和 ZED 双目相机一致估计深度范围大约在 0.5-20m可用于室内场景。 SDK 自带深度估计功能输出深度图像为 640x40025Hz。 SDK 自带 SLAM 功能可以读到相机计算的 Pose25Hz。 驱动安装 安装教程https://imsee-sdk-docs.readthedocs.io/zh/latest/src/sdk/install_ubuntu.html # 获取 SDK sudo apt-get install git git clone https://github.com/indemind/IMSEE-SDK.git cd IMSEE-SDK make init #安装 opencv [compiler] sudo apt-get install build-essential [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev git clone https://github.com/opencv/opencv.git cd opencv/ git checkout tags/3.4. #注意此处最好尽量指定 3.4.3 版本否则后面一些可执行文件会缺少依赖库 mkdir build cd build/ $ cmake \ -DCMAKE_BUILD_TYPERELEASE \ -DCMAKE_INSTALL_PREFIX/usr/local \\ -DWITH_CUDAOFF \\ -DBUILD_DOCSOFF \ -DBUILD_EXAMPLESOFF \ -DBUILD_TESTSOFF \ -DBUILD_PERF_TESTSOFF \ .. $ make -j4 $ sudo make install #MNN 安装先安装依赖 protobuf [required] sudo apt-get install autoconf automake libtool $ git clone https://github.com/google/protobuf.git $ cd protobuf $ git submodule update --init --recursive 105 cvlife.net$ mkdir build cd build $ make $ make check $ sudo make install $ sudo ldconfig # refresh shared library cache. $ protoc --version # 若安装成功将显示 protoc 版本 #MNN $ git clone https://github.com/alibaba/MNN.git $ cd MNN $ ./schema/generate.sh $ mkdir build $$ cd build $ cmake .. $ make -j4 $ sudo make install #编译样例并运行 make demo ./demo/output/bin/get_image #ros 驱动安装与测试 $ cd IMSEE-SDK # IfMSEE-SDK 为 SDK 具体路径 $ make ros $ sudo su #开启权限模式 $ source ros/devel/setup.bash $ roslaunch imsee_ros_wrapper start.launch $ sudo su #开启权限模式 $ source ros/devel/setup.bash $ roslaunch imsee_ros_wrapper display.launch 运行 SLAM VINS-Monohttps://blog.csdn.net/qq_43134830/article/details/115006473内含配置文件 包含相机内参/IMU 内参/相机与 IMU 之间的外参等信息 ORB-SLAMhttps://blog.csdn.net/weixin_45057582/article/details/125890604 RGB-D 视觉传感器 Realsense D455 深度测量原理本质是双目立体匹配 1. 红外发射器发射不可见的红外图案可以在弱纹理场景下提高深度测量 的精度 2. 左右目图像传感器接收可见光和不可见光组成的图像 3. 左右目图像逐像素匹配三角化得到深度值 Datasheet Intel RealSense 系列相机从 Firmware version 5.10.6.0 开始加入了自标定功能大大提高了 相机标定的自动化程度 https://dev.intelrealsense.com/docs/intel-realsensetm-d400-series-calibration-tools-user guide 或者 参考 https://blog.csdn.net/a2824256/article/details/106729403 http://blog.chinaunix.net/uid-27875-id-5846318.html 安装 推荐源码安装方便修改 注意 • 官方要求 USB 3.0 接口USB 2.0 可能会出问题。 • SDK 不太支持虚拟机。如果必须要用虚拟机选择 VMware Workstation把虚拟机 USB 接口设置成 3.1虚拟机设置 - 硬件 - USB 控制器 - 连接 - USB 兼容性 - USB 3 不然连接不上相 机。 • 安装过程中比如指令 wget, git, add-apt-repository可能遇到路 由设置、防火墙的影响导致连接超时等类型的安装失败。建议科学上 网。 • 推荐在 Ubuntu 18.04 系统下安装。年少不知 18 好错把 20 当做宝。 • 先不要连接相机到电脑。先安装 SDK安装好后再插入相机。 1、预备工作 更新 Ubuntu 系统内核 # 更新 Ubuntu 系统内核 sudo apt-get update sudo apt-get upgrade sudo apt-get dist upgrade 安装依赖库解释下依赖库的意思 libusb 是一个 USB 设备访问接口库 gtk 是一个图形工具包 glfw 是一个 OpenGL 应用框架 # 安装 USB 相关依赖库 sudo apt-get install git libssl-dev libusb-1.0-0-dev libudev-dev pkg config libgtk-3-dev # 安装 OpenGL 用到的相关依赖项 # Ubuntu 16 系统下运行 # sudo apt-get install libglfw3-dev # Ubuntu 18/20 系统下运行 sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev 检查 CMAKE 版本。有些 librealsense 里 CMAKE 标志位比如 CUDA要求 3.8以上版本 Ubuntu apt 方 式 安 装 的 cmake 版 本 可 能 比 较 老 这 种 情 况 下 去 cmake 官 网 https://cmake.org/download/下载最新的版本安装。 # 查看 cmake 版本号 cmake --version 2、下载官方 SDK librealsense 可以使用如下 git 命令下载 git clone https://github.com/IntelRealSense/librealsense.git 如 果 网 速 慢 也 可 以 直 接 在 GitHub 上 下 载 压 缩 包 https://github.com/IntelRealSense/librealsense/archive/master.zip 3、设置 Intel Realsense 设备的许可。 # 在 librealsense 文件夹下运行 109 cvlife.net./scripts/setup_udev_rules.sh # 如果要取消许可运行 # ./scripts/setup_udev_rules.sh --uninstall 创建应用内核模块的补丁。执行该脚本将下载、修补和构建受 realsense 影响的内核模块驱 动程序。然后它将尝试插入修补过的模块。如果失败将恢复原始 uvc 模块。 ./scripts/patch-realsense-ubuntu-lts.sh 4、安装 SDK mkdir build cd build # DCMAKE_BUILD_TYPERelease 加上的话编译会快不加默认 Debug 编译生 成单元测试文件 # -DBUILD_GRAPHICAL_EXAMPLESfalse 加上的话不编译 OpenGL 和 X11只有 文本示例 cmake ../ -DBUILD_EXAMPLEStrue # 编译 demo 和教程 make -j4 # 4 核同时编译可以加快编译速度。如果低端平台可能会挂 sudo make install 安装完后共享库目录/usr/local/lib 头文件目录 /usr/local/include 5、测试安装成功 连接相机至电脑 USB3.0 接口注意连接相机的数据线必须是 USB3.0 的数据线USB 口内 为蓝色 # 打开终端输入 realsense-viewer 示例代码 1、直接显示捕获的彩色图深度图、IMU 信息 # 示例代码直接显示捕获的彩色图深度图、IMU 信息 # 在 librealsense/build 路径下执行 examples/capture/rs-capture 暂时无法在飞书文档外展示此内容 2、显示点云 # 示例代码点云 # 在 librealsense/build 路径下执行 examples/pointcloud/rs-pointcloud 暂时无法在飞书文档外展示此内容 3、彩色图和深度图对齐 运行方法 # 示例代码对齐 # 在 librealsense/build 路径下执行 examples/align/rs-align 代码框架
#include librealsense2/rs.hpp
#include example-imgui.hpp
// 定义投影方向
enum class direction
{to_depth,to_color
};
// Forward definition of UI rendering, implemented below
void render_slider(rect location, float* alpha, direction* dir);
int main(int argc, char * argv[]) try
112 cvlife.net
{std::string serial;if (!device_with_streams({ RS2_STREAM_COLOR,RS2_STREAM_DEPTH },
serial))return EXIT_SUCCESS;// Create and initialize GUI related objectswindow app(1280, 720, RealSense Align Example); // Simple
window handlingImGui_ImplGlfw_Init(app, false); // ImGui library
intializitionrs2::colorizer c; // Helper to colorize depth
imagestexture depth_image, color_image; // Helpers for renderig
images// Create a pipeline to easily configure and start the camerars2::pipeline pipe;rs2::config cfg;if (!serial.empty())cfg.enable_device(serial);cfg.enable_stream(RS2_STREAM_DEPTH);cfg.enable_stream(RS2_STREAM_COLOR);pipe.start(cfg);// 定义两种投影方向rs2::align align_to_depth(RS2_STREAM_DEPTH);rs2::align align_to_color(RS2_STREAM_COLOR);// 透明度系数float alpha 0.5f; // Transparancy
coefficient// 默认从彩色图投影到深度图direction dir direction::to_depth; // Alignment directionwhile (app) // Application still alive?{// Using the align object, we block the application until a
frameset is availablers2::frameset frameset pipe.wait_for_frames();if (dir direction::to_depth){// Align all frames to depth viewport
113 cvlife.netframeset align_to_depth.process(frameset);}else{// Align all frames to color viewportframeset align_to_color.process(frameset);}// With the aligned frameset we proceed as usualauto depth frameset.get_depth_frame();auto color frameset.get_color_frame();auto colorized_depth c.colorize(depth);glEnable(GL_BLEND);// Use the Alpha channel for blendingglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);if (dir direction::to_depth){// When aligning to depth, first render depth image// and then overlay color on top with transparancydepth_image.render(colorized_depth, { 0, 0, app.width(),
app.height() });color_image.render(color, { 0, 0, app.width(),
app.height() }, alpha);}else{// When aligning to color, first render color image// and then overlay depth image on topcolor_image.render(color, { 0, 0, app.width(),
app.height() });depth_image.render(colorized_depth, { 0, 0, app.width(),
app.height() }, 1 - alpha);}glColor4f(1.f, 1.f, 1.f, 1.f);glDisable(GL_BLEND);// Render the UI:ImGui_ImplGlfw_NewFrame(1);render_slider({ 15.f, app.height() - 60, app.width() - 30,
app.height() }, alpha, dir);ImGui::Render();
114 cvlife.net}return EXIT_SUCCESS; 参考 RealSense D455 的标定并运行 VINS-FUSION_Z_Jin16 的博客-CSDN 博客_d455 标定 Intel RealSense D435i:简介、安装与使用(ROS、Python)