自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cooper的博客

这个博主很懒,空空如也

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 c++函数指针

函数指针1.定义2.代码形式3.例子4. 实验1.定义C++ primer中对函数指针的定义为:函数指针指向的是函数而非对象。和其他指针一样,函数指针指向某种特定类型。函数的类型由他的返回类型和形参共同决定,与函数名无关。2.代码形式举个栗子:// 比较两个string 对象的长度bool lengthCompare(const string &,const string &a...

2020-04-10 12:11:08 89

原创 数字图像处理-数学形态学运算(腐蚀与膨胀)

数学形态学腐蚀与膨胀1.数学定义2. 代码3.效果4.总结腐蚀与膨胀数学形态学运算包括两种算子:腐蚀(erosion)算子和膨胀算子(dilation)。腐蚀运算的原理是对数据集中的每个元素在自定义的结构元素(窗口)内寻求最小值来替代中心元素的值。腐蚀运算的物理意义是具有腐蚀数据集合边缘的功能并迫使集合向内收缩,如果窗口足够的大,就能移除那些面积较小、作用不大的物体。膨胀运算与腐蚀运算的...

2020-04-08 11:00:20 5910

原创 VS2017中QT插件的Config配置

文章目录Qt Creator配置文件编译器运行机制遇到的问题Qt Creator配置文件我们日常在使用QT的时候,经常会用到Qt Creator,比如你想在程序中运用到C++11的特性你就需要在pro文件中加入下面这句话这样一来,我们就可以使用诸如,lamda函数等功能。在我理解里,这个应该就是告知c++的预处理器,我们要使用这个功能。编译器运行机制具体关于程序如何运行。我们举最简单hello world程序为例,如下图所示:简单来说,上图由预处理器、编译器、汇编器、链接器构成了c++的编

2020-07-23 18:01:22 1443

转载 C++矩阵库 Eigen 快速入门

Eigen代数运算库是一个十分高效地库,然鹅里面的接口却对新手不是辣么友好!看到有博主简单翻译了一下对应MATLAB的API,这里转载之。原文出处Eigen库 的MATLAB接口解释英文出处文档章节Eigen 矩阵定义Eigen 基础使用Eigen 特殊矩阵生成Eigen 矩阵分块Eigen 矩阵元素交换Eigen 矩阵转置Eigen 矩阵乘积Eigen 矩阵单个元素操作Eigen 矩阵化简Eigen 矩阵点乘Eigen 矩阵类型转换Eigen 求解线性方程组 Ax = bEigen 矩阵特征值Ei

2020-06-09 14:21:11 389

原创 C++ virtual关键字

文章目录1. virtual简单多态性2.virtual纯虚函数3. vitual关键字的其他用法虚继承我们知道C++是一种面向对象的编程语言,其中很重要的语法特性就是多态。具体来说,有1、同名函数重载;2、子类重载父类的虚方法等等。这里主要重点了解第二种,C++有关键字virtual进行虚方法的声明。这样的好处就是,子类在实现自己的方法时,可以复用父类的这个函数名称,以达到简洁明了作用。举个栗子:1. virtual简单多态性class base{public: base() {} ~

2020-06-05 15:49:59 522

原创 PCL使用kd树搜索

理论kd树或k维树是计算机科学中用于组织k维空间中一些点的数据结构。它是一个二叉搜索树,上面有其他约束。Kd树对于范围搜索和最近邻居搜索非常有用。出于我们的目的,我们通常只处理三维空间的点云,因此我们所有的kd树都是三维空间的。kd树的每个级别都使用垂直于相应轴的超平面沿特定维度拆分所有子级。在树的根部,所有子项都将根据第一维进行拆分(即,如果第一维坐标小于根,则它将位于左子树中,如果大于根,则显然位于右边的子树)。树中向下的每个级别都在下一个维度上划分,其他所有元素都用尽后,将返回到第一个维度。建

2020-06-05 12:11:41 1049

原创 区块链技术--阅读笔记

之前有幸阅读区块链书籍,了解一些大概的技术内容。文章目录几个区块链技术特点总结:涉及的基本概念区块区块链起源于比特币,2008年11月1日,一位自称中本聪(SatoshiNakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文 ,阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子现金系统的构架理念,这标志着比特币的诞生。几个区块链技术特点总结:区块链实质是一个分布式账本。 这个账本是由全世界的比特币使用者共同维护的。实现了去中心化,去信任的体系。但比特币区块链由于

2020-06-01 23:06:54 460

原创 LeetCode-转换字符串

题目要求写一个函数进行string字符串逆转。要求不允许分配另一个额外的字符串数组,只允许在输入字符串数组上,就地进行修改(空间复杂度O(1))。也就是说,只允许额外创建一个临时变量。Example 1:Input: [“h”,“e”,“l”,“l”,“o”]Output: [“o”,“l”,“l”,“e”,“h”]思路:我们都知道交换两个元素的方法,就是创建一个临时变量存储,然后交换即可。string字符串数组转换无非就是好几组两两交换的实现。举个栗子图1 string转置示意图

2020-06-01 18:55:48 1107

原创 数据结构--二叉树

文章目录原理代码原理最近学习数据结构相关知识,重点回顾了二叉树的创建与搜索。如下图所示,是一棵二叉树。图1 二叉树有了这样一颗二叉树,就需要了解一些基本概念:深度子节点键值其中,深度就是二叉树的层数,从上往下数,如图1中有深度为3;图中一个圆圈代表一个节点;节点内的数值为键值,分别为4;2;7;1;3。而4所在的节点称为根节点;而2、7所在的节点为根节点的子节点。代码有了这些知识,我们就可以创建二叉树,使用递归创建,上代码// 节点数据结构struct TreeNode

2020-06-01 12:47:49 1546

原创 C++谓词、lambda与bind

谓词、lambda与bind定制操作lambda表达式参数绑定定制操作学习STL标准库过程中,了解到许多算法都会比较序列中的元素,甚至有些容器自带都会比较元素的顺序(如SET)一般而言,这类算法使用元素类型的重载运算符(operate <==)来完成元素之间的比较。为了方便我们根据实际需求来完成排序,STL允许我们提供自己定义的操作来代替默认运算符举个栗子,比方说我们有一个string类型的vector容器,其中含有以下几个单词“foxes”,“yellow”,“theme” ,“o

2020-05-27 12:53:10 297

原创 C++模板实例化

文章目录模板实例化C ++有隐式模板实例化和显式实例1. 上面这种方法叫做隐式实例化2.显示实例化模板实例化作为C++模板类入门修行者,常常会碰到许多问题。其中一项让我们匪夷所思的就是,日常我们习惯将类的定义和声明拆开来写,分别放置在".h"和".cpp"文件中。这样做的好处包括但不限于让代码更加清晰,还能够避免重定义的问题,当然如果有双向依赖关系的头文件,或许还要用到诸如前向声明语句。按照这个思路,将模板分为".h"文件和".cpp"文件,我出现了链接器错误问题LNK2019,寻找博客等,对此的

2020-05-27 10:53:43 3092

原创 在VS2017中玩耍OpenMP

背景小伙伴都知道,无论编写什么样类型的代码,循环总是最耗费时间的(当然陷入死循环就直接炸了)。因此,十分有必要学习下并行处理的知识。这样就可以开启多个线程进行循环的运行,了解到VS2017原生支持OpenMP,那我们就动手实践一番^ _ ^实践首先,我们打开VS 的属性/C++/语言/设置openmp支持然后,就可以进行编写代码啦#include <iostream>// 加入头文件#include <omp.h>using namespace std;

2020-05-23 21:17:23 824

原创 VTK_DEBUG

今天在运行vtk程序进行一组多边形连线显示时,由于使用了vtkPolyLine这个类,通过将多边形顶点集加入到这个类中,编译器报错:以下为错误代码段 vtkSmartPointer<vtkPolyLine> polyLine = vtkSmartPointer<vtkPolyLine>::New(); polyData->SetPoints(points); polyLine->GetPointIds()->SetNumberOfIds(points-

2020-05-20 17:21:23 381

原创 C++迭代器特性

我们知道,C++中迭代器是连接容器与算法的桥梁,其效果上类似于指针。例如,我们可以使用迭代器,来遍历容器元素,以vector为例: std::vector <int> c (3,0); std::cout << "c中元素为: " << std::endl; for (std::vector<int>::iterator i = c.begin (); i != c.end (); i++) { std::cout << *i &lt

2020-05-18 16:23:31 196

原创 薄板样条插值---Thin plate spline (TPS)

薄板样条插值薄板样条插值---Thin plate spline (TPS)公式样条插值示例未来工作薄板样条插值—Thin plate spline (TPS)由于研究内容原因,最近在研究空间数据插值方法,TPS作为一种非常鲁棒的空间数据插值方法,由Duchon等人[1]引入几何设计。简而言之,薄板样跳插值(TPS)是基于样条线的数据插值和平滑技术。另外TPS具有明确的物理意义,描述了类...

2020-05-08 11:31:32 7183 4

原创 PCL--Debug

文章目录解决方法1解决方法2使用PCL的KdTreeFLANN的时候报错:error C2079: “pcl::KdTreeFLANN::param_radius_”使用未定义的struct“flann::SearchParams”解决方法1解决方案-属性中包含目录的路径为D:\PCL 1.8.1\3rdParty\FLANN\include\flann请把它改为:D:\PCL 1....

2020-04-13 11:25:03 288

原创 论文阅读-点云滤波EM算法

基于期望最大化的机载激光雷达DTM自动提取摘要1. 引言2. 方法3. 实验结果与分析4.结论摘要地面点的滤波是机载激光雷达点云应用的关键步骤。虽然近年来提出了很多滤波算法,但大多都存在参数设置或阈值微调的问题。这通常非常耗时,并降低了应用算法的自动化程度。为了克服这些问题,本文提出了一种基于期望最大化(EM)的无阈值滤波算法。该滤波器是基于点云被视为高斯模型的混合体的假设而开发的。因此,地面...

2020-04-02 10:15:33 852

template.rar

作为C++模板类入门修行者,常常会碰到许多问题。其中一项让我们匪夷所思的就是,日常我们习惯将类的定义和声明拆开来写,分别放置在".h"和".cpp"文件中。 这样做的好处包括但不限于让代码更加清晰,还能够避免重定义的问题,当然如果有双向依赖关系的头文件,或许还要用到诸如**前向声明**语句。 - 按照这个思路,将模板分为".h"文件和".cpp"文件,我出现了链接器错误问题LNK2019,寻找博客等,对此的通常答案是将所有模板内容放入".h"文件中,因为必须以这种方式完成。这固然是一种思路,因为编译器能够直接从.h中直接进行模板实例化,而不必去由cpp生成的obj文件中寻找相关定义,再搜寻是否有相应的实例,避免了连接器错误。

2020-05-27

空空如也

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

TA关注的人

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