- 博客(120)
- 资源 (1)
- 收藏
- 关注
原创 DGC-GNN 配置运行
算法 DGC-GNN,这是一种全局到局部的图神经网络,用于提高图像中2D关键点与场景的稀疏3D点云的匹配精度。与依赖视觉描述符的方法相比,这种方法具有较低的内存需求,更好的隐私保护,并减少了对昂贵3D模型维护的需求。DGC-GNN通过利用几何和颜色线索来表示关键点,并在粗略层面编码欧几里得和角度关系,形成用于指导点匹配的几何嵌入。
2024-05-14 20:21:04 322
原创 数据的均匀化分割算法(网格划分法、四叉树法(含C++代码))
数据的均匀化分割算法(网格划分法、四叉树法(含C++代码))还是选四叉树均匀化与非极大值抑制结合的方法
2024-05-11 22:10:51 550
原创 管理 Python 项目的艺术:在 PyCharm 中使用虚拟环境(以BPnP为例)
管理 Python 项目的艺术:在 PyCharm 中使用虚拟环境
2024-04-22 20:30:38 640
原创 多线程同步:使用 std::mutex 和 std::unique_lock 保护共享资源
多线程同步:使用 std::mutex 和 std::unique_lock 保护共享资源
2024-04-17 22:21:40 817
原创 深入理解 C++ 中的 KeyFrame 和 KeyFrame*:对象与指针的选择与管理
本文详细讨论了在 C++ 编程中 KeyFrame 类及其指针 KeyFrame* 的用法、区别与联系。通过探索两者的内存管理、生命周期及使用场景,本文旨在帮助开发者更好地理解何时以及如何选择使用对象或指针,从而提高代码的效率和安全性。
2024-04-15 20:41:12 430 1
原创 SuperGluePretrainedNetwork调用接口版本(两个版本!)
SuperGluePretrainedNetwork调用接口版本(两个版本!)
2024-04-09 12:03:25 365
原创 Gtk-ERROR **: 13:30:16.920: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process
Gtk-ERROR **: 13:30:16.920: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process
2024-03-26 09:48:00 211
原创 Ubuntu18.04 下使用 Pybind11实现 C++ 调用 Python 函数和类的示例
Ubuntu 下使用 Pybind11 实现 C++ 调用 Python 接口的示例
2024-03-06 18:37:36 718 1
原创 如何在Linux上为PyCharm创建和配置Desktop Entry
通过本文章,您不仅可以手动创建和配置PyCharm的 .desktop 文件,也可以利用PyCharm自身提供的“Create Desktop Entry...”功能自动创建桌面快捷方式。
2024-03-06 15:24:19 997
原创 【编译报错!】Pangolin could not be found because dependency Eigen3 could not be found.
CMake Error at CMakeLists.txt:40 (find_package): Found package configuration file: /usr/local/lib/cmake/Pangolin/PangolinConfig.cmake but it set Pangolin_FOUND to FALSE so package "Pangolin" is considered to be NOT FOUND. Reason given by packa
2024-03-03 20:57:43 742
原创 Ubuntu 18.04(x86_64)安装配置 CUDA 11.6 + cuDNN v8.9.7 + TensorRT8.4.1.5(亲测可用)
Ubuntu 18.04(x86_64)安装配置 CUDA 11.6 + cuDNN v8.9.7 + TensorRT8.4.1.5
2024-03-01 16:39:02 1182
原创 Ubuntu18.04 系统上配置并运行SuperGluePretrainedNetwork(仅使用CPU)
SuperGlue是Magic Leap在CVPR 2020上展示的研究项目,它是一个图神经网络(Graph Neural Network)和最优匹配层(Optimal Matching layer)的结合,训练用于对两组稀疏图像特征进行匹配。这个项目提供了PyTorch代码和预训练的权重,可以在SuperPoint关键点和描述子的基础上运行SuperGlue匹配网络。给定一对图像,你可以使用这个项目来提取图像对之间的匹配特征。
2024-02-27 17:27:03 958
原创 安装kitti2bag工具
使用pip install pandas默认安装的是最新版的pandas,因为pandas版本0.24.0以后的版本不再支持python2.7,因此指定pandas0.23.0及以前的版本即可。在github上有人开源了kitti转rosbag的一个工具,我们在安装时不需要下载源码。我在执行命令的时候失败有两个原因。网络源不好,所以需要换成豆瓣的源。下载很慢导致最后下载失败。pandas 下载失败。
2024-02-24 17:27:38 220
原创 解决ROS中 rosbag play bag 包遇到:Required ‘op‘ field missing问题
在Robot Operating System (ROS)中使用命令回放bag文件时,可能会遇到一个错误消息:“Required 'op' field missing”。这个问题通常指示bag文件有损坏或格式不兼容,阻止了正常的消息回放。本文档将指导你如何诊断和解决这个问题。
2024-02-23 11:06:11 536 2
原创 删除ROS bag文件中的特定话题(Topic)
确保在运行这个命令之前,你的环境已经配置好了ROS,并且你有足够的磁盘空间来存储新创建的bag文件。这个命令允许你根据特定的条件来复制bag文件中的消息,包括排除一些不需要的话题。以下是一个基本的命令示例,它将创建一个新的bag文件,其中不包含。要删除ROS bag文件中的特定话题(如。
2024-02-23 10:18:25 395
原创 NeRF——静态的快速扫描方法
NeRF(Neural Radiance Fields)是一种用于三维场景重建和渲染的深度学习方法,它利用神经网络来表示场景的连续体积密度和颜色信息。通过从一组稀疏的二维图像中重建高质量的三维场景,并能从任意视角生成逼真的图像,NeRF展现了其在计算机视觉和图形学领域的重要进展。
2024-02-11 19:40:41 417
原创 【标定】多源LiDAR传感器标定方法(含C++代码)
提供的代码是一种使用平面提取和匹配以及随后的Ceres Solver库优化转换的LiDAR标定方法的全面实现。这种方法用于对齐多个LiDAR传感器的数据,比如那些安装在车辆或机器人不同位置的传感器,以确保它们生成的点云在同一坐标系统中。在机器人和自动驾驶车辆领域,LiDAR传感器在环境感知中发挥着至关重要的作用。然而,当使用多个传感器时,它们的数据必须准确对齐,以创建周围环境的连贯表征。这段代码展示了一种用于校准多个LiDAR传感器的复杂方法,方法是通过识别并匹配它们各自点云中的几何平面。
2024-01-28 17:35:48 346
原创 Velodyne 64E S3 硬件连接和 velodyne_driver ROS驱动安装
Velodyne 64E S3 硬件连接和 velodyne_driver ROS驱动安装
2024-01-13 15:17:05 1031
原创 基于Rangenet Lib的自动驾驶LiDAR点云语义分割与可视化
这段代码是一个C++程序,用于处理来自KITTI数据集的激光雷达(LiDAR)扫描数据。程序主要实现以下功能:1. **读取和解析命令行参数**:使用Boost库中的`program_options`模块来定义和解析命令行参数。这包括扫描文件路径、模型路径以及是否启用详细模式(verbose)。2. **处理KITTI数据集中的LiDAR扫描数据**:程序遍历指定KITTI数据集目录中的LiDAR扫描数据(`.bin`格式)。这些数据包含了LiDAR扫描的点云信息。
2024-01-02 15:23:16 791
原创 提取ROS bag文件中的图像、IMU和GPS数据
本代码旨在从 ROS bag 文件中提取图像、IMU 和 GPS 数据,并将其保存到磁盘以进行进一步分析。总的来说,本代码通过解析 ROS bag,高效地组织和存储了不同传感器的数据,为后续算法研究提供了基础数据支持。- /chcnav_demo/fix : 将 GPS 数据(经纬度、高度)保存到文本文件。3. 定义图像保存函数,将 ROS Image 消息转换为 OpenCV 图像并保存。- /chcnav_demo/imu : 将 IMU 数据保存到文本文件。上面的代码是基于Ubuntu 18.04。
2023-12-20 10:41:04 859
原创 使用 std::vector 和 std::pair 管理二维点对
假设我们要在一个二维平面上记录一些点的匹配对。每个点由其 x 坐标和 y 坐标表示。每个元素都是一个包含两个整数的对。中,然后通过遍历这个向量来打印出所有的点对。赋值意味着在这个向量中添加。这段代码首先将几个点对添加到。成员访问的两个整数表示的。
2023-12-13 15:01:12 146
原创 对分过层后的类进行可视化
变量是:clusters_k_upper, clusters_k_lower, clusters_underk_upper, clusters_underk_lower
2023-11-17 16:27:03 112
原创 对完成初始配对的std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> 进行可视化
对完成初始配对的std::vector 进行可视化。
2023-11-17 15:29:12 169
原创 std::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> semantic_clouds_vector 可视化(C++代码)
std::vector semantic_clouds_vector 可视化(C++代码)
2023-10-20 12:12:46 230
原创 KITTI数据集中的二进制激光雷达数据(.bin文件)转换为点云数据(.pcd文件)(C++代码)
KITTI数据集中的二进制激光雷达数据(.bin文件)转换为点云数据(.pcd文件)(C++代码)
2023-10-12 17:14:26 353
RSview-老版本(新的不一定好用)
2023-10-31
ORB-SLAM3-ROS版本(带稠密点云地图)
2023-08-04
DBoW2-用于ORBSLAM
2023-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人