自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 双目重建之极线约束与极线对齐

1.极线约束如上图所示,点P为世界坐标系上一点,p为左图像上一点,p’为有图像上一点,则Ppp’形成一个平面,称为极平面(也称为核平面),左右两条绿线与红线则称为极线;OlO_lOl​与OrO_rOr​则为左右相机的相心。如果,我们已知左图像一点p,想去查找右图像中的对应匹配点p’,一种方法就是通过极线约束的方式,在不对图像进行RT变换的前提下,通过两条极线的约束条件,找到右图像中的对应点p’对应关系可以通过基础矩阵F来构建,表达式如下:prTFpl=0p_r^TFp_l=0prT​Fpl​=0

2021-10-06 11:38:00 3982

原创 双目重建之图像畸变矫正

相机的成像过程实质上是坐标系的转换。首先空间中的点由 “世界坐标系” 转换到 “像机坐标系”,然后再将其投影到成像平面 ( 图像物理坐标系 ) ,最后再将成像平面上的数据转换到 图像像素坐标系。但是由于透镜制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。图像及畸变主要有两种:径向畸变、切向畸变(双目标定后会得到内参K、外参RT,以及畸变参数k1,k2,k3,p1,p2)1.径向畸变:正中心位置的畸变最小,随着半径的增大,畸变增大。径向畸变可以分为枕形畸变和桶形畸变:成像仪光轴中心的畸变为

2021-10-05 21:35:56 1142

原创 pcl的kdtree与nanoflann速度比较

typedef KDTreeSingleIndexAdaptor<L2_Simple_Adaptor<double, PointCloud_flann<double> >, PointCloud_flann<double>, 3> my_kd_tree;pcl::PointCloud<pcl::PointXYZ>::Ptr p_cloud(new pcl::PointCloud<pcl::PointXYZ>);// pcl kdtr

2021-07-06 15:37:49 2020 1

原创 PCL 点云法向估计

void Example::normal_est(pcl::PointCloud<PointType>::Ptr& cloud, pcl::PointCloud<pcl::Normal>::Ptr& point_n){ pcl::search::KdTree<PointType>::Ptr tree(new pcl::search::KdTree<PointType>); tree->setInputCloud(clou

2021-04-15 16:18:39 356

原创 PCL 求解点云的PCA

void Example::get_pca(pcl::PointCloud<PointType>::Ptr cloud){ size_t vn = cloud->size(); float radius = 0.5; pcl::KdTreeFLANN<pcl::PointXYZ> kdtree; kdtree.setInputCloud(cloud);#pragma omp parallel {#pragma omp for

2021-04-15 16:16:51 702

原创 错误C2504:继承未定义基类

错误C2504:继承未定义基类,头文件相互包含

2021-02-08 17:23:59 796

原创 extern “C“ 作用详解

extern “C” 作用详解链接:https://www.cnblogs.com/xiangtingshen/p/10980055.html

2020-12-08 14:23:59 109

转载 虚函数初始化顺序

https://blog.csdn.net/crazy_programmer_p/article/details/38903335

2020-06-29 16:18:26 274

原创 LNK2038: “_ITERATOR_DEBUG_LEVEL”的不匹配项

1. 值“2”不匹配值“0”.解决办法:详细考证后,发现这一选项vs提供了设定。即只需要在预处理定义中设定其值符合要调用的程序设定即可。vs2010中,debug模式下默认值为2,release的模式的默认值为0 。其设定方法如下:项目 > 属性 > 配置属性 > C/C++ > 预处理器 > 预处理定义 > 添加"_ITERATOR_DEBUG_LEVEL = 0"即可。2. 值“0”不匹配值“2”.解决办法:原因1:问题分析:_ITERATOR_DEBUG

2020-06-29 10:41:56 1971

原创 有趣的数学故事

1807年,傅里叶于年在法国科学学会上提交了一篇论文,运用正弦曲线来描述温度分布,论文里有个在当时具有争议性的观点:任何连续周期信号可以由一组适当的正弦曲线组合而成。傅里叶没有做出严格的数学论证。这篇论文的审稿人中,有历史上著名的数学家拉格朗日和拉普拉斯,当拉普拉斯和其它审稿人投票通过并要发表这篇论文时,拉格朗日坚决反对,认为傅里叶的方法无法表示带有棱角的信号。法国科学学会屈服于拉格朗日的威望,拒绝了傅里叶的工作。1822年,傅里叶变换随其著作《热的解析》发表,但已经是15年之后了。1829年,狄利赫里

2020-06-03 17:59:17 684

原创 错误D8016:O2和RTC1命令行选项不兼容

当我们调试程序,想在Debug模式下优化程序时,可以在 属性——>C++——>优化中,将速度优化开启,如下:但是,开启后,会出现错误D8016,’’/O2"和"/RTC1"命令行选项不兼容将代码生成中的“基本运行时检查” 改为 “默认”就可以了...

2020-05-26 16:05:34 7031

原创 一起学SLAM之ORB-SLAM2(2)

ORB-SLAM2源码中Thirdparty文件夹里放的是所需的第三方库,但还少了Eigen和OpenCV,下载好都放到这个文件夹里,然后开始配置工作1. 配置DBoW找到DBoW的CMakeLists.txt所在位置,然后用CMake配置如下图,选择对应的VS版本和操作系统Configure时会报错,把opencv的路径手动加进去就可以了configure->generate...

2020-04-21 10:17:15 374

原创 一起学SLAM之ORB-SLAM2(1)

1.ORB-SLAM2简介开源网址:http://webdiis.unizar.es/~raulmur/orbslam/2.配置所需3.opencv的配置4.Pangolin的配置5.g2o的配置6.DBoW2的配置7.配置过程中遇到的问题8.运行结果...

2020-04-10 11:28:42 789

原创 泊松重建(Poisson Surface Reconstruction)

简介泊松重建是Michael Kazhdan等在2006年提出的网格重建方法,其文章题目为“Poisson Surface Reconstruction”。Poisson-Rec的输入是带有法向量属性的点云数据(也可以有RGB信息),输出是三角网格模型,下面来直观的感受一下泊松重建的输入和输出:表面重建流程:1、构建八叉树:采用的是自适应的空间网格划分的方法(根据点云的密度调整网格的深...

2020-03-20 11:57:34 25390 27

原创 SVD(奇异值分解)的原理与应用

1. 前言前段时间做三维模型参数化的过程中接触到了SVD(singular value decomposition),翻译成中文就是奇异值分解。它的作用简单来说,就是提取一个较复杂矩阵中的关键部分,然后用一个简单的矩阵表示其关键部分,以达到简化的目的。基于这个原因,它的应用范围也十分广泛,比如:LSA(隐性语义分析)、推荐系统、特征压缩(或称数据降维)、PCA(主成分分析)、模型参数化等。2....

2020-03-17 11:09:07 6642

原创 .lib不是有效的Win32应用程序

出现这个问题的主要原因是程序把.lib文件当做exe文件处理,所以会提示.lib不是应用程序解决办法1项目 - 属性 - 常规将项目对应的配置类型改为.exe应用程序,如下图:解决办法2如果对应项目就是生成.lib文件的,使用办法1后,虽然这个问题解决了,但又会出现找不到.lib文件的问题,还是治标不治本那就是因为我们把生成.lib文件的项目设置为了启动项目,将启动项目改一下,改到...

2020-03-10 17:50:15 8385 8

原创 ARAP(As-Rigid-As-Possible)变形算法

上图中,最左侧的模型为其初始状态,由后面三种模型形状的变换我们可以发现它实际上就是要求变形前后模型每一个局部都只经历了平移或者旋转,也就是刚体变换(rigid -transformation)。我们知道,刚体变换是不会产生形状扭曲的,那么如果局部的形状都尽量被保持,变化的只是模型的大体姿态,也就满足了我们之前所说的保持局部细节不变的要求。这也是我们今天要讲的as-rigid-as-possibl...

2020-03-05 11:29:13 6732

原创 3D纹理重建

纹理重建的输入项包括:二维纹理图像、图像对应的相机标定参数、无纹理的3D模型(一般为三角网格模型)纹理重建的输出项为:带有纹理的3D模型纹理重建的主要步骤如下:1. load_view() read_obj_model()读取二维纹理图像及其对应的相机模型几何参数,读取带有三角网格的3D模型2. labeling(model, adj_face_list, views...

2020-03-03 10:44:17 4649 9

原创 遇到bug时,换换脑子

你会更精明而不是更卖力地工作。我曾经为了一个功能的实现而卖力工作过。每天12小时,整整工作了两个星期。我付出了很多努力。那两个星期之后,我休息了一阵,并产生了一些减少很多不必要的工作的想法。你的思维会变得更清晰。疲劳对于个人的影响就跟他喝醉酒差不多。每天下班的时候,我总是欺骗自己,我将很快 完成这件事,以便明天有个新的开始。实际上,通常第二天我经常需要收拾昨天的烂摊子。如果我发现如果能够在编程中...

2020-01-07 16:40:27 149

原创 三维点云泊松圆盘采样(Poisson-Disk Sampling)

1、 Poisson-Disk Sampling性质一个理想的 Poisson 圆盘采样点集需要满足 3 个条件:(1) 无偏差采样性质 (采样区域的每个没有被覆盖的点都有相同的概率接受一个新的采样点);(2) 最小距离性质 (任意两个采样点之间的距离大于给定的采样半径);(3) 最大化性质 (采样区域被所有的采样圆盘完全覆盖).满足这 3 个条件的采样方法称为最大化 Poisson 圆...

2019-12-21 15:29:56 7517

转载 经典排序算法

十大经典的排序算法,每个都有对应解释说明,动态图帮助理解,具体代码加深细节方面的理解,很喜欢这篇博客,链接如下:https://blog.csdn.net/wfq784967698/article/details/79551476...

2019-12-17 14:57:47 84 1

原创 VS调试时 “正在从以下位置 加载符号”的解决办法

工具 —>选项—>调试—>符号,看右边有个“Microsoft符号服务器”,将前面的勾去掉,然后,清空符号缓存 —> 确定

2019-12-17 14:16:12 2251

原创 计算机视觉与三维重建

2018 全球人工智能与机器人峰会(CCF-GAIR)在深圳召开,源于香港科技大学教授,ICCV 2011主席权龙的演讲,其中包含计算机视觉的基础、计算机视觉的变迁与发展,以及计算机视觉最新的进展,链接如下:https://baijiahao.baidu.com/s?id=1604859530067115369&wfr=spider&for=pc...

2019-12-13 16:23:04 2172

原创 点云的降采样:八叉树采样(Octree)

#1 Octree什么是octree?百度百科释义:八叉树(Octree)的定义是:若不为空树的话,树中任一节点的子节点恰好只会有八个,或零个,也就是子节点不会有0与8以外的数目。那么,这要用来做什么?想象一个立方体,我们最少可以切成多少个相同等分的小立方体?答案就是8个。再想象我们有一个房间,房间里某个角落藏着一枚金币,我们想很快的把金币找出来,聪明的你会怎么做?我们可以把房间当成一个立方体...

2019-12-09 11:32:16 11301 1

原创 超详细的Vector用法总结

超详细的Vector用法总结,留下来自己看:https://blog.csdn.net/u010183728/article/details/81023274

2019-11-08 10:09:36 818

原创 安装Tensorflow-gpu的正确打开方式

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体...

2019-08-21 15:47:03 1256

空空如也

空空如也

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

TA关注的人

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