自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

原创 卡尔曼滤波算法的五大核心公式含义

简单记录卡尔曼滤波算法五大核心公式的含义

2022-11-12 17:58:44 4795 2

原创 在Linux环境下VScode中配置ROS、PCL和OpenCV开发环境记录

在VScode中配置ROS开发环境,快捷方便!

2022-11-04 23:34:19 2747

原创 LIO-SAM运行报错[lio_sam_imuPreintegration-2]和[lio_sam_mapOptmization-5]解决

激光SALM框架LIO-SAM算法编译运行。

2022-08-09 15:00:55 2698 7

原创 霍夫变换原理基于直线提取介绍

一、简绍 Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的直线线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定直线的检测问题转化为寻找参数空间中的峰值问题。把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。二、基于直线提取理解 假设已知图像上画一条直线,要求出这条直线所在的位置。已知直线的方程可式子(1)来表示,k和b为参数,表示直线的斜率和截距。过点P0(x0,y0)的所有直线的参数都会满足方程y0=kx0+b。即P0(x0,...

2021-12-09 21:51:57 812

原创 Liunx环境下创建文件和文件夹下所有文件的软连接

在Liunx环境中当一个文件在多个地方需要用到时,为了减少文件占用内存资源的开销,可以创建文件的软连接来解决这个问题。1、文件的软连接创建命令:ln -s 文件名【源文件】 文件名【软连接文件】2、文件夹下所有文件软连接创建命令:ln -s 文件夹【源文件夹】 软连接路径【软连接路径】-r...

2021-09-04 16:01:50 2481

原创 C/C++ 中的分支预测likely and unlikely

最近在三维点云数据处理中遇到了如的代码,通过查阅网上资料,小有了解,随便记录一下,并于后面好好的研究。#ifndef likely# if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 296)# define likely(x) (__builtin_expect((x), 1))#...

2021-08-28 17:52:11 618

原创 OpenCL程序完整例子

#include<iostream>#include "common.h"#define DATA_SIZE 8388608using namespace std;int valuesOK(UserData* to, UserData* from) { for (int i = 0; i < DATA_SIZE; ++i) { if (to[i].w != from[i].w) return 0; } return 1;}int buff.

2021-07-10 18:30:03 872

原创 OpenCL简单入门

一、前言最近在做三维点云处理方面的项目,对于三维数据方面的处理来说是非常耗时的,为了加快项目算法的处理速度,于是充分发挥计算机的GPU处理性能,在对项目算法中的不同模块采用了Opencl和CUDA加速技术。这篇只在这里记录Opencl部分,后续会更新CUDA部分。一如既往,从简单的入门开始,下面将分小节开始。二、OpenCL的相关概念OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU、GPU或其他类型的处理器组成。OpenCL由一门用于编写kernels (在OpenCL设备上运行

2020-12-04 18:28:20 4375

原创 ROS工作空间创建和工作包创建

主要参考:1.https://www.bbsmax.com/A/6pdDBwAKJw/2.https://www.bbsmax.com/A/A7zg2PlNd4/3.https://blog.csdn.net/qq_41121783/article/details/887514774.https://blog.csdn.net/guosuling/article/details/8...

2019-11-12 21:59:50 237

转载 克隆Git仓库

1.1 从远程仓库中克隆整个代码仓库 mkdir Demo  //在当前路径下新建一个文件夹,用来存放将要拉取的整个代码库 cd Demo //进入这个文件夹 repo init -u ssh://igerrit.storm:29418/Demo/manifest -b master     //-u :指定一个U...

2019-09-17 00:02:52 991

原创 点云分割文献

https://www.cnblogs.com/ironstark/p/5000147.htmlhttps://blog.csdn.net/weixin_38160138/article/details/78403834

2019-09-06 17:28:04 162

转载 OpenCV畸变校正原理以及损失有效像素原理分析

原博客地址:相机畸变校正上一篇博客简要介绍了一下常用的张正友标定法的流程,其中获取了摄像机的内参矩阵K,和畸变系数D。1.在普通相机cv模型中,畸变系数主要有下面几个:(k1; k2; p1; p2[; k3[; k4; k5; k6]] ,其中最常用的是前面四个,k1,k2为径向畸变系数,p1,p2为切向畸变系数。2.在fisheye模型中,畸变系数主要有下面几个(k1,k2,k3,...

2019-07-24 23:34:40 745

原创 PCL库中的不同点云数据结构之间的转换

在使用PCL点云库时,常因为不同的点云数据存储方式不同,而导致在PCL点云库时带来一些麻烦。今天对常见在PCL库的一些点云数据类型之间的转换方式进行历出,方便大家参考。常见ROS msg,PCLPointCloud2,PointXYZ三种数据类型之间的转换如下:1.ROS msg to PCLPointCloud2const sensor_msgs::PointCloud2Con...

2019-07-03 18:11:08 1265

原创 glutReshapeFunc 改变窗口大小时保持图形比例

目的:当窗口尺寸改变时,图形比例不发生变化思路:窗口宽高比改变时,通过改变窗口显示区域大小,并利用投影矩阵改变观测物体大小使之适应变化。代码:void reshape(int w, int h){glViewport(0,0,(GLsizei) w, (GLsizei) h);//改变显示区域,起始位置为客户端窗口左下角(非坐标原点)glMatrixMode(GL_PROJECT...

2019-04-03 21:11:04 7329 4

转载 windows下使用git和github建立远程仓库

转载原文在win环境下使用Git与GitHub建立关联or第二篇文章or图解说

2019-03-27 21:44:27 200

转载 计算机领域的顶级期刊和会议(包含部分网站)

 Computer VisionConf.:        Best: ICCV, Inter. Conf. on Computer Vision                 CVPR, Inter. Conf. on Computer Vision and Pattern Recognition        Good: ECCV, Euro. Conf. on Comp. Vi...

2019-01-01 21:38:56 6976

原创 C++中的有界数组模板

C++语言不能够检测数组下标是否越界,如果越界程序就会崩溃。为了检测数组下标越界检测,建立数组模板,可以完成。在模板中要想获得下标值,需要重载数组下标运算符“[]”,重载数组下标运算符后使用模板类实例化数组,就可以实现下标越界检测。例如:#include&lt;cassert&gt;template&lt;typename T,int b&gt;class Array{ ...

2018-12-02 17:33:27 795

转载 C/C++pair的用法

1 pair的应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。2 make_pair函数...

2018-12-02 15:51:03 6144 2

原创 C/C++中常用位运算总结

大佬些就常用这些啊!总结一下总会用到的:inline int ind(int xcell, int ycell, int zcell) const { xcell = clamp(xcell, 0, int(GRID_MAX)); ycell = clamp(ycell, 0, int(GRID_MAX)); zcell = clamp(zcell, 0, int(GR...

2018-11-23 14:54:57 495

原创 C/C++指针的数据类型与指针运算小结

1.指针的数据类型小结有关指针的数据类型2.指针的运算 a.指针变量的赋值 将变量的a的地址赋给指针p--代码如下:int a;int *p;p=&amp;a;将数组元素的首地址赋给指针p--代码如下:int a[3]={1,2,3};int *p;p=a;将数组中的元素的地址赋给指针pint a[3]={1,2,3};int *p;p=&...

2018-11-23 14:39:53 468

转载 c++的unsigned int和int类型

就如同int a;一样,int 也能被其它的修饰符修饰。除void类型外,基本数据类型之前都可以加各种类型修饰符,类型修饰符有如下四种:1.signed----有符号,可修饰char、int。Int是默认有符号的。2.unsigned-----无符号,修饰int 、char3.long------长型,修饰int 、double4.short------短型,修饰int我们主要来看一下...

2018-11-23 11:41:48 17167

转载 图形学领域的关键算法及源码链接

原文链接在这里,谢谢博主的分享。 Graphics Conference Paper Link Archive (Ke-Sen Huang) Reproducible Research archive (image processing, vision, machine learning) (Xin Li)Mesh Libraries and ToolsSurface_Mesh (D. ...

2018-10-31 08:34:12 1071 1

原创 C++类的封装

由于项目的需要将自己实现的算法类封装为dll接口,供别人的调用,学习了一下类的封装,记录一下也便以后的查看。一,创建需要的DLL文件        在VS2015中创建一下dll项目,例如ExamplDLL        添加头文件为example.h,里面定义了dll的接口,可以供别人使用。如下.h文件 #ifdef ExampleIBDLL #de...

2018-10-29 11:15:32 362 1

原创 VS2015里 fatal error LNK1107: 文件无效或损坏: 无法在 0x300 处读取

解决方法:把配置链接器附加依赖项的example.dll改为examole.lib即可。

2018-10-29 10:06:21 7242 9

转载 虚函数,纯虚函数的区别与作用

学习C++的多态性,你必然听过虚函数的概念,你必然知道有关她的种种语法,但你未必了解她为什么要那样做,未必了解她种种行为背后的所思所想。深知你不想在流于表面语法上的蜻蜓点水似是而非,今天我们就一起来揭开挡在你和虚函数之间的这一层窗户纸。首先,我们要搞清楚女神的所作所为,即语法规范。然后再去探究她背后的逻辑道理。她的语法说来也不复杂,概括起来就这么几条:  在类成员方法的声明(不是定义...

2018-10-28 23:03:50 7637 1

原创 vector的resize函数和reserve函数

博客原文:https://blog.csdn.net/vampirem_chosen_one/article/details/50519870?utm_source=copy,写的特别好,谢谢原博主。正文:对于C++的vector容器模板类,存在size和capacity这样两个概念,可以分别通过vector的size()和capacity()方法获得该vector当前的size和capa...

2018-10-17 14:15:10 4494

原创 Visual Studio与Visual C++版本对应关系

vc版本与vs版本对应关系如下所示:Visual Studio 6 : vc6Visual Studio 2003 : vc7Visual Studio 2005 : vc8Visual Studio 2008 : vc9Visual Studio 2010 : vc10Visual Studio 2012 : vc11Visual Studio 2013 : vc12Visua...

2018-10-16 17:32:21 2383

原创 vector容器的类型和迭代器使用

注意:for循环中使用“!=”来代替“&lt;”符号进行条件判断。vector是同一种类型的集合,使用时需要包含如下的头文件:#include&lt;vector&gt; using std::vector;1、vector可以保存系统的数据类型也可以保存自定义对象类型:vector&lt;int&gt; ivec;//ivec holds object of int .v...

2018-10-12 08:46:09 1073

原创 (vtkColorSeries.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”

在PCL时候出现了下面的错误:vtkCommonColor-7.0-gd.lib(vtkColorSeries.obj) : error LNK2038: 检测到“_ITERATOR_DEBUG_LEVEL”的不匹配项: 值“2”不匹配值“0”(miantest.obj 中错误原因是:Debug使用了Release的库文件。即使你连接库里面两个都添加着呢,但是release库文件放在了...

2018-09-30 12:48:39 439

转载 OBB方向包围盒算法实现

如何进行2D旋转矩形的碰撞检测,可以使用一种叫OBB的检测算法(Oriented bounding box)方向包围盒。这个算法是基于SAT(Separating Axis Theorem)分离轴定律的。而OBB不仅仅是计算矩形的碰撞检测,而是一种算法模型。简单解释一下概念,包围盒和分离轴定律。包围盒:是根据物体的集合形状,来决定盒子的大小和方向,这样可以选择最紧凑的盒子来代表物体。见下图...

2018-09-28 13:48:36 10231 1

转载 分离轴定理算法讲解

本文转自原文,谢谢作者的提供。本文翻译自@sevenson的文章Separating Axis Theorem (SAT) Explanation 。原文作者用的是ActionScript 3来编写算法,不过文中主要讲述的还是算法原理,我想一旦算法原理被我们掌握了,选择什么编程语言来实现算法都是次要的事情了。本人并非英文专业,所以文中翻译得有不妥或疏漏之处,欢迎各位指正,谢谢!正文如下:...

2018-09-28 11:16:58 5101

原创 点云配准算法和开源软件库

经典的点云配准 Standard ICP Besl, Paul J., and Neil D. McKay. "A method for registration of 3-D shapes." IEEE Transactions on pattern analysis and machine intelligence 14.2 (1992): 239-256. KD-tree ...

2018-09-14 11:42:10 1995

原创 STL中的set

set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;另外,还得确保根节点的左子树的高度与有字数的高度相等,这样,二叉树的高度最小,从而检索速度最快。要注意的是,它不会重复插入相同键值的元素,而采取忽略处理。     ...

2018-09-10 11:24:28 110

原创 C++中的pair

1、pair的创建和初始化pair包含两个数值,与容器一样,pair也是一种模板类型。但是又与之前介绍的容器不同,在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同pair&lt;string,string&gt;anon;pair&lt;string,int&gt;word_count;pair&lt;string, vector&lt;int&gt; &gt...

2018-09-10 11:08:00 111

转载 计算机图形学研究软件

转自http://www.dgp.toronto.edu/~rms/links.htmlPapers &amp; ArchivesGraphics Conference Paper Link Archive (Ke-Sen Huang) Reproducible Research archive (image processing, vision, machine learning) (...

2018-09-06 15:05:48 2517

转载 基函数与函数空间

引言在学习线性回归模型的时候就会遇到基函数,可能我们会遇到多项式基函数、高斯基函数、sigmoid基函数,当然在高等数学和信号系统中还经常会碰到傅里叶基。有时候,不禁要问,这些基函数为什么这么设计?这些基函数的作用是什么?后来发现基函数是核方法和字典训练的基础,于是乎,我逐渐有了一些例如特征转换和映射、字典元素的概念。不过还是对基函数与函数空间的关系、基函数的深层认识模棱两可。我希望能通过这...

2018-09-05 16:10:57 15807 1

转载 点云数据处理学习笔记(1)

文章转自—》》》https://www.cnblogs.com/yhlx125/p/4952522.html,谢谢原作者的提供。三维计算视觉研究内容包括:  (1)三维匹配:两帧或者多帧点云数据之间的匹配,因为激光扫描光束受物体遮挡的原因,不可能通过一次扫描完成对整个物体的三维点云的获取。因此需要从不同的位置和角度对物体进行扫描。三维匹配的目的就是把相邻扫描的点云数据拼接在一起。三维匹配重...

2018-09-04 15:12:43 4336

原创 PCA算法的数学原理和C++语言(Eigen库)实现

PCA算法的数学原理    最近在学习图像处理相关方面的知识,在图像压缩时用到主成分分析算法(Principal Component Analysis PCA)。数学理论主要参考了这篇博客点击打开链接,博主写的非常好,通俗易懂。这里总结了一下PCA算法的实现步骤如下:设有m条n维数据。1)将原始数据按列组成n行m列矩阵X;2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值;3)求...

2018-06-06 20:07:20 1713 2

原创 三维点云数据(转载保存)

https://blog.csdn.net/hw140701/article/details/72764899

2018-06-03 22:39:20 1165

原创 VC2013+WIN7+OpenCV 3.0.0 + opencv_contrib3.0.0编译和配准

参考两篇文章如下:1.https://blog.csdn.net/linshuhe1/article/details/512210152.https://blog.csdn.net/streamchuanxi/article/details/51044929

2018-05-15 15:47:19 191

opencl-cplusplus学习指导手册

这是Opencl的C++使用手册,快速上手学习OpenCL加速计算的必备资料。

2021-04-14

ygz-stereo-inertial(立体匹配优化算法)

ygz-stereo-inertial(立体匹配优化算法)

2021-02-02

Opencl入门学习例子

OPencl入门学习简单例子,完整包含了opencl编程的步骤,可供参看学习。。一个完整的OpenCL加速技术过程涉及到平台(Platform)、设备(Device)、上下文(Context)、OpenCL程序(Program)、指令队列(Command)、核函数(Kernel)、内存对象(Memory Object)、调用设备接口(NDRange),下面将分别进行做简单的介绍,后面也会给出参考资料的相关链接。

2020-12-04

PCL点云官方点云数据.zip

PCL官方点云数据,包含全部全部点云数据,可以用于官方所有例子的测试与比较,其中有著名的斯坦福大学提供的兔子模型,马模型等。

2020-07-22

在PCL同一个窗口中显示多片点云模型

有时候需要在PCL同一个窗口中显示加载多片点云数据,便于不同点云数据之间的比较。

2018-10-08

opencv-3.1.0+opencv_contrib-3.1.0+ippicv_windows_20151201

opencv-3.1.0+opencv_contrib-3.1.0+ippicv_windows_20151201资源,由于在官网下载太慢了,这里整理了一下,方便大家下载。

2018-05-16

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除