- 博客(83)
- 资源 (14)
- 收藏
- 关注
原创 ROS入门:IMU&GPS融合定位实例
声明:1。本文主要针对IMU&GPS融合定位仿真环境的搭建过程进行讲解,而没有对具体原理的介绍2。本人作为技术小白,完全参考了https://zhuanlan.zhihu.com/p/152662055的内容(其对环境的搭建讲的较少),对原理感兴趣的童鞋可以参考;若搭建环境的过程中遇到任何问题,也随时欢迎与本人交流。先放一张运行结果:知识准备:1。电脑装有ubuntu系统,2。已经安装了ROS何Eigen库,了解ROS的基本使用,并已经创建了工作空间catkin_ws参考博文:htt
2020-07-04 14:53:40 21045 102
原创 点云库PCL学习:基于VFH描述子的聚类识别(1_提取模型vfh描述子)
最近在进行物体识别,现将调试的过程分享给大家。我的任务与教材还是有些差别。主要在于:只需要识别出是物体的类别即可,并不需要估计位姿我的点云数据是PointXYZ本文我将介绍根据模型的点云提取vfh特征1.首先将模型文件命名为“model_*.pcd”的格式,并放入Data文件夹2.估计vfh特征,并保存文.pcd文件#include <vtkAutoInit.h>V...
2020-04-15 23:27:27 2449 27
原创 从状态观测器角度理解卡尔曼滤波
本文假定读者已学习过现代控制原理与概率论的相关知识,约定如内容涉及该学科则自动跳过解释,文章基于作者对卡尔曼滤波器的认识,融入了一些个人想法,并不完全按照卡尔曼滤波的原文进行公式推理,如有错误,欢迎指出。卡尔曼滤波解决了什么问题? 卡尔曼滤波是经典的预测算法,它能在存在噪声和干扰的情况下对系统的状态进行最优估计。通信与控制中一类重要的理论和实践问题是统计性质的。这些问题包括:(1)随机信号的预测;(2)将随机信号与随机噪声分离;(3)在存在随机噪声的情况下检测已知形式的信号(脉冲、正弦)。如果
2022-05-19 21:13:05 1367 1
原创 [动态规划] leetcode 416. 分割等和子集
问题描述: 分割等和子集:给你一个只包含正整数的非空数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 例子:输入nums = {1, 5, 11 , 5}; 输出true。动态规划求解 这是一个0-1背包问题的变种,也就是每种物品只能选择一次。与之对应的是完全背包问题,选择每种物品的数量是不限制的,可以与另一篇博文对照来看。将非空数组 nums,分为两部分,使得两部分的和相等,该问题等价于从数组中选择部分数字,使得其和等于数组总和的一半。特别的当数组总和
2022-03-27 22:11:18 1703
原创 [动态规划] leetcode 518. 零钱兑换 II
标题问题描述:(零钱兑换 II)给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。假设每一种面额的硬币有无限个。例子:输入amount = 5,coins = {1, 2, 5}; 输出4动态规划求解令dp[i][j]dp[ i ][ j ]dp[i][j]使用前i种硬币兑换金额j 的方法次数,数组coins[]表示所存取的硬币金额。当采用动态规划思想来解决本问题时,对于前
2022-03-27 17:29:50 1367
原创 ROS学习:cv_bridge与opencv版本冲突三种解决方案
1 问题描述: cv_bridge会使用自定义版本的opecv,当我们想使用自己的opencv版本时可能会发生冲突。比如:我用opencv 3.2写的程序,而对方电脑的cv::bridge一直调用的opencv 4.1,然后为了执行我的程序就在对方电脑上安装了opencv 3.2,当ros节点中既使用opencv又引入cv_bridge时,程序报错说没有定义imread函数。2 解决方案:2.1 不使用cv_bridge包 好多博文提到这种方法,也就是在写ros节点的时候不使用cv_bridg
2021-09-11 14:51:53 11289 5
原创 用ubuntu制作ubuntu系统启动盘
简介制作ubuntu系统的启动盘有两钟方法,在ubuntu系统制作或者在windows系统制作,其中ubuntu12.04以后的系统都自带了启动盘制作工具,非常方便,这里着重介绍这种方法。准备:一个大于等于4G的U盘从官网下载对应ubuntu系统.iso文件制作过程首先在启动栏输入Startup Disk Creator(中文系统的化输入“启动盘创建器”),打开系统自带的启动盘制作工具软件会自动检测Downloads(下载)文件夹内的iso文件和插入电脑的U盘,此时也可以在此界面
2021-08-19 17:13:55 18770
原创 【动态SLAM】动态场景下实时三维重建论文汇总
文章目录实时三维重建介绍动态环境下三维重建论文汇总1. DynamicFusion: Reconstruction and Tracking of Non-rigid Scenes in Real-Time2. Co-Fusion: Real-time Segmentation, Tracking and Fusion of Multiple Objects3. Fast Odometry and Scene Flow from RGB-D Cameras based on Geometric Cluste
2021-08-16 17:05:48 6764 2
原创 KinectFusion原理介绍
1 简介: 2011年所开源的KinectFusion是第一个使用RGBD相机进行实时稠密三维重建的系统(需要GPU,甚至多个GPU或者高性能GPU),当时具有重大的开创意义;其所用的地图为TSDF地图,也对后续稠密地图的发展有着重大的意义。目前很多动态环境下的实时三维重建系统都是在KinectFusion或者ElasticFusion基础上扩展的。 实时三维重建技术与SLAM有很大的相关性,不同之处在于三维重建更关注建图的完整性和精度,而SLAM技术更关注定位精度,建图是为了辅助定位,并不太关注地
2021-08-06 11:06:19 2929
转载 【动态SLAM】经典开源论文(更新中)
【动态SLAM】经典开源论文(更新中)0 简介1.DynaSLAM(IROS 2018)2.DS-SLAM(IROS 2018, 清华大学)3.Detect-SLAM(2018 IEEE WCACV, 北京大学)4.VDO-SLAM(arXiv 2020)5.Co-Fusion(ICRA 2017)6.Learning Rigidity in Dynamic Scenes with a Moving Camera for 3D Motion Field Estimation(2018,ECCV,NVIDIA
2021-07-08 14:30:38 5955 8
转载 【动态SLAM】快速入门(原理介绍及经典算法)
【动态SLAM】快速入门(原理介绍及经典算法)0 简介1. 传统视觉SLAM技术的局限2. 常用算法:2.1 基于深度学习的分割方法2.1.1 目标检测(Object Detection)2.1.2 语义分割(INstance Segmentation)2.2 基于多视图几何的方法2.3 基于光流/场景流的方法2.3.1 光流方法2.3.2 场景流方法2.4 基于残差的方法3. 性能比较0 简介 博文首发自我的古乐居博客:https://www.guyuehome.com/34296,定期“动态环境下
2021-07-08 14:22:42 7149
转载 语义分割、实例分割和全景分割
语义分割、实例分割和全景分割的区别与联系0 简介1 semantic segmentation(语义分割)2 Instance segmentation(实例分割)3 Panoramic segmentation(全景分割)4 目标检测(Object Detection)0 简介 在做动态环境slam的过程中需要用到场景的语义信息,之前一直以为语义分割和实例分割是一个东西,调研后才了解到其中的区别与联系。这里重点说下语义分割、实力分割和全景分割的作用。 转载自:https://blog.csdn.
2021-06-22 15:50:43 8054
原创 ORB-SLAM:使用二进制文件ORBvoc.bin加速词典读取
简介ORBSLAM默认读取txt格式的ORBvoc.txt字典,速度非常慢,而读取二进制的ORBvoc.bin可以大大加快此过程(从8.57s 到 0.12s)。解决方案1.下载ORBvoc.bin文件:https://github.com/nxyzgf/sgg-dbow2(如果网络不好可以私信邮箱地址,无偿提供服务)2.ORB-SLAM2和ORB-SLAM3的做法是相同的,博文https://blog.csdn.net/h_372101/article/details/107912933的做法很精
2021-05-15 17:15:52 2150 1
原创 linux挂载硬盘无权限(permission denied)
问题描述我在TX2的ubuntu系统里挂载一个硬盘之后,可以看到相应文件夹分配了空间,但是无法对其进行写的操作,并提示权限不够(permission denied)解决方案:我们只需要将该文件夹的访问权限设置为普通用户即可sudo chmod 777 /media/sda1其中/media/sda1为我的硬盘的挂载文件位置...
2021-04-29 13:35:49 11347
转载 Pluecker coordinates(普吕克坐标系)介绍
最近在看光场拼接的论文时,在拼接之前需要将两个光场进行配准(Registration),将光场转换到Pluecker坐标系下,这样做有两个好处:1.在Pluecker坐标系中描述光线,投影到均匀光场坐标中是一个线性映射 2. 3D场景中的点在4D光场中是一个二维的线性子空间,因此可以...
2021-04-21 22:11:53 3437
转载 SLAM综述论文:Past, Present, and Future of SLAM: Towards the Robust-Perception Age
文章目录 SLAM 研究的时代划分 the classical age (1986 - 2004)the algorithmic-analysis age (2004 - 2015)the robust-perception age (now)自主机器人真的需要SLAM吗?SLAM问题被解决了吗?SLAM算法鲁棒性 SLAM算法鲁棒性面临的主要挑战 数据关联(data association...
2021-04-10 11:24:17 1352
原创 gazebo+ORB-SLAM仿真教程
gazebo+ORB-SLAM仿真教程介绍仿真环境搭建ORBSLAM2安装与配置运行仿真环境:介绍开发环境:本博文实现了ORB-SLAM在gazebo环境下的仿真,环境为:ubuntu 16.04 + ROS + gazebo 7.0 + ORB-slam2预备知识:ROS,gazebo,ORB-SLAM的相关知识参考链接:运行效果:https://www.bilibili.com/video/BV1ZK4y1T7jR?share_source=copy_webmooc教学视频(含丰富的
2021-03-27 17:44:36 7706 32
原创 高级计算机网络:论文汇报PPT《Similarity-Based One-shot Learning for Device-free Gesture Signals》
完整论文题目《Dynamic Speed Warping: Similarity-Based One-shot Learning for Device-free Gesture Signals》
2021-03-01 11:07:13 328 1
原创 matlab计算图像的灰度积分投影
简介:huidu积分投影可用于人脸、眼睛的定位计算效果:matlab程序:clcclearimg = imread('face1.jpg');gray = rgb2gray(img);figure;imshow(gray); [m,n]= size(gray);col = zeros(m ,1);row = zeros(n ,1 );for i=1:n row(i,1)=sum(gray(1:m,i))/m;endfor j=1:m col(j,1)=s
2021-01-20 21:50:25 3946
原创 opencv眼动识别(2_眼动识别)
opencv眼动识别(2_眼动识别)前言原理介绍关于c++源代码前言书山有路勤为径,学海无涯苦做舟琴某人辛辛苦苦码的报告,当然不能让你们这么容易复制过去(๑• . •๑)原理介绍关于c++源代码 代码是辛苦敲出来的,不太想给你们,如果感兴趣的话可以先支持一下,然后私信发下邮箱:...
2021-01-20 21:26:36 1967 15
原创 opencv眼动识别(1_眼睛分割)
书山有路勤为径,学海无涯苦做舟琴某人辛辛苦苦码的报告,当然不能让你们这么容易复制过去(๑• . •๑)
2021-01-20 21:09:41 1420 1
原创 opencv手势识别(3_SVM算法识别)
手势识别系列博文3:SVM算法识别手势前言原理介绍代码实现前言书山有路勤为径,学海无涯苦做舟琴某人辛辛苦苦码的报告,当然不能让你们这么容易复制过去(๑• . •๑)原理介绍代码实现1.程序中有很多冗余的函数2.要运行此代码首先需要把轮廓的傅里叶描述子保存在本地,然后用其训练SVM模型,最后才能用训练好的参数进行预测。这些函数在程序中都能找到,所以一定要看懂程序。3.代码有点乱,不想整了#include <iostream>#include <string>
2021-01-20 20:55:02 2570 2
原创 opencv手势识别(2_KNN算法识别)
手势识别系列博文2:KNN算法识别手势前言原理介绍代码实现前言琴某人辛辛苦苦码的报告,当然不能让你们这么容易复制过去(๑• . •๑)原理介绍代码实现1.程序中有很多冗余的函数2.要运行此代码还需要提前制作好模板库,否则识别个der啊3.代码有点乱,不想改了#include <iostream>#include <string>#include <opencv2\opencv.hpp>#include <stdio.h>usi
2021-01-18 23:22:16 2713 5
原创 6种肤色检测方法的原理及实现(C++)
参考:https://blog.csdn.net/qq_22527639/article/details/815015656种肤色检测算法实现简介:原理介绍:代码实现(C++):简介:肤色分割的原理就是在不同的颜色区间进行颜色分割,内容都大致相同,包括(1) 基于HSV颜色空间的阈值肤色识别(2) 基于RGB颜色空间的阈值肤色识别(3) 基于YCbCr颜色空间的阈值肤色识别(4) 基于YCbCr颜色空间和椭圆皮肤模型的皮肤识别(5) 基于YCbCr颜色空间的Otsu阈值肤色识别(6)OPe
2021-01-18 22:36:55 4705 1
原创 图像处理:空域滤波器的C++实现(最大、最小、均值、中值、锐化)
使用方式: AveFilter(img, ave_img);// 均值滤波,用来平滑图像 MinFilter(img, min_img);// 最小值滤波 MediumFilter(img, medium_img);// 均值滤波 MaxFilter(img, max_img);// 最大值滤波 SharpFilter(img, sharp_img,1);//图像锐化(这里锐化因子为1)函数//均值滤波void AveFilter(Mat &src, Mat &
2021-01-18 21:38:04 1080
原创 图像处理:加入椒盐和高斯噪声(C++实现)
调用方式Mat img, img1,img2;addSaltNoise(img,img1,300);//添加椒盐噪声ddGaussianNoise(img,img2,0,1);//添加高斯噪声(均值=0,方差=1)函数//生成随机椒盐噪声void addSaltNoise(const Mat &srcImage, Mat &dstImage, int n){ dstImage = srcImage.clone(); for (int k = 0; k < n; k+
2021-01-18 21:34:15 2211 1
原创 ROS入门:GPS坐标转换&Rviz显示轨迹
#include <ros/ros.h>#include "turtlesim/Pose.h"#include <sensor_msgs/NavSatFix.h>#include <geometry_msgs/PoseStamped.h>#include <nav_msgs/Path.h>#include <math.h>struct my_pose{ double latitude; double longitud
2020-12-16 16:50:40 8390 19
原创 opencv实现图像旋转(不被裁剪)
用opencv读取图片时,有时候得到的图片时旋转过的,需要我们把图像旋转回去,但opencv又没有现成的程序。这里我把别人调好的函数搬过来给大家用(主要还是为了以后自己用)用法:Mat dst = RotateImage(src,3.1415926/2);//将图片旋转90度函数:cv::Mat RotateImage(cv::Mat src, double angle){ cv::Mat dst; try { //float scale = 200.0/ src.rows;/
2020-12-12 16:58:20 2084
原创 计算机断层成像技术(CT)调研
花了半天时间调研和做的ppt,分享给大家:参考:https://baike.baidu.com/item/CT/122415?fr=aladdinhttps://www.zhihu.com/question/24978900?sort=created
2020-11-22 13:52:10 1765
原创 不存在“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”到“const char“适当的转换函数
原程序: ostringstream oss; oss<< "test\\" << <<num <<".txt"; FILE *fp = fopen(oss.str(), "w");改为: ostringstream oss; oss<< "test\\" << <<num <<".txt"; FILE *fp = fopen(oss.str().c_str(), "w");/--
2020-11-18 22:53:12 6905
原创 C++报错:error: return type specification for constructor invalid
类的构造函数不需要返回类型,即将void orbclass();前面的void去掉即可。
2020-11-08 16:35:26 7112
原创 Kalibr使用:imu+camera联合标定过程详解
文章目录前言标定过程双目相机标定imu标定imu+双目联合标定前言标定的目的是获取双目参数,imu参数以及二者直接之间的转换矩阵,分为三个阶段:1双目标定获取双目相机内参以及双目直接的转换矩阵,2 imu标定获取噪声密度、随机游走,3 imu+双目联合标定获取imu与双目之间的转换矩阵。需要用到的知识包括(ros的基本操作:工作空间与功能包,rosbag记录数据集; 相机模型;)标定过程双目相机标定双目标定采用Kalibr标定工具1. 首先创建一个新的ros的工作空间,命名为kalibr_
2020-09-17 11:52:10 9604 4
原创 ROS报错汇总(更新中)
报错:Invalid roslaunch XML syntax: not well-formed (invalid token): line 1, column 0The traceback for the exception was written to the log file解决:roslaunch robot_pose_ekf test_robot_pose_ekf改为roslaunch robot_pose_ekf test_robot_pose_ekf.launch参考博文:
2020-09-05 19:19:52 650 1
“基于VFH描述子的聚类识别”的点云示例
2022-01-17
ROS学习:以服务消息机制发送图片
2021-09-06
《视觉SLAM十四讲》程序中的3rdparty文件夹
2021-03-18
图像测量技术_图像平滑和图像增强.rar
2021-01-18
计算机断层成像技术(CT)调研.pptx
2020-11-22
orbTest.tar.gz,在ubuntu系统里,编写并调用一个类,实现了图像ORB特征匹配
2020-06-26
catkin_ws.tar.gz ROS下实现图片ORB特征匹配
2020-06-26
Qt+pcl+vtk 屏幕选点
2020-05-08
基于CVFH描述子的聚类识别.rar
2020-04-19
hdf5-1.8.21-Std-win7_64-vs14.zip
2020-04-16
Qt+Pcl可视化点云.rar
2020-02-12
编译好的VTK8.00,包含QVTKWidgetPlugin.dll,用于Qt安装QVTKWidget插件
2020-02-10
nsis-3.0程序打包软件.rar
2020-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人