Linear_Luo的专栏

因为理想,所以拼搏;墨迹淡淡,理解方纯。

卷积理解与思考

对于具有线性和时不变性的连续时间系统或者离散时间系统,我们在进行信号处理的时候,一个基本的思路就是将原始的时间信号分解成一组基本信号。但问题是我们如何选择一组基本信号,很显然的一点就是我们选择的基本信号要有利于我们后续进行信号分析。为此,产生了两种信号的分解方式:一类是将输入信号分解成复指数(co...

2016-08-22 01:05:57

阅读数:1397

评论数:4

站在数学之巅沐浴计算机的阳光

在2016年的第一个月里我看了一些专业书和杂书、学习了一套MIT关于线性代数的教学视频,闲暇之余还看了一些节目,萌发了些许感受,特在此记录一下。其实还有一些其他原因,见此文最后的备注部分。首先解释下这个标题,这个标题的灵感源自一本讲述C++11新特性的书,作者提到了一句“站在C98的峰顶沐浴C++...

2016-08-17 11:10:37

阅读数:2171

评论数:0

大数定律理解

概率论中的大数定律都发端于伯努利的工作。下面我们来回顾下这个问题:假设袋中有 aa 个白球,bb 个黑球, p=aa+bp={a \over {a +b}} 。有放回的从袋中抽球 NN 次,记录抽到白球的次数为 XX,我们用 XNX \over N 去估计 pp 。伯努利视图证明的就是:用 XNX...

2016-10-08 20:28:49

阅读数:4427

评论数:0

MIT牛人解说数学体系

最近在看数学方面的知识,无意中发现了这篇文章,感觉对数学的整体架构讲得挺好的,想要深入理解的话,个人觉得可以看看《古今数学思想》以及相应方向的具体书籍。下面是正文:==============================================在过去的一年中,我一直在数学的海洋中游荡,...

2016-10-08 19:54:47

阅读数:1126

评论数:0

typedef typename 理解

typedef和typename分开的时候,大家基本没什么问题的,但是当二者连起来用的时候,就有点迷糊了。下面这篇博文的讲解我感觉讲得蛮好,就mark一下了===========C++ typedef typename 作用C++的一些语法让人看着费解,其中就有:typedef typename ...

2016-10-07 10:37:45

阅读数:520

评论数:0

积分图像与积分直方图

最近看文章,出现了integral image概念,发现了这篇文章,下面是正文:   在[1]中,有两个重要的思想:     1级联弱分类器可以组成强分类器,且最终的结果可以媲美甚至于超越很多强的分类器。这也是至今仍然常用的一种分类器框架---EnsembleClassifier。     2...

2016-10-02 22:29:34

阅读数:705

评论数:0

union理解与妙用

最近在看PCL中关于自定义PointT类型的文档,发现其中广泛使用了union,以前学习的时候用不到这个,也就没有留心,借此机会学习下union的使用方法,理解下union的本质。一 struct和union内存结构我们先来简单看下struct的内存结构,如下定义一个结构体:struct stud...

2016-10-02 12:57:44

阅读数:1742

评论数:0

THE EVILS OF UNITY BUILDS

Unity builds. I don’t like them. Of all the tools at your disposal to make a build faster, this is the worst. And it’s not just the “hey let’s #inclu...

2016-09-29 10:13:38

阅读数:600

评论数:0

加快C++代码的编译速度方法

C++代码一直以其运行时的高性能高调面对世人, 但是说起编译速度,却只有低调的份了。比如我现在工作的源代码,哪怕使用Incredibuild调动近百台机子,一个完整的build也需要四个小时,恐怖!!!虽然平时开发一般不需要在本地做完整的build,但编译几个相关的工程就够你等上好一段时间的了(老...

2016-09-29 10:09:03

阅读数:6696

评论数:1

#include 理解与思考

关于#include的用法和作用网上大致有如下说法,其实大致思想是相同的: #include 就是复制粘贴xxx到这个位置 C++ include本质上就是插入替换 语法上,扩展名并没有什么特殊的地方,它只是文件名字符串的一部分,并不具有什么特殊的地位。不管你include啥扩展名都可以,你就是#...

2016-09-29 00:22:37

阅读数:583

评论数:0

C++虚函数与纯虚函数的区别

今天在做一道面试题的时候遇到一个纯虚函数的概念,就翻了下书,查资料,对比下虚函数,现在整理一下和大家分享: 什么是虚函数? 那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言...

2016-09-28 23:47:41

阅读数:446

评论数:0

纯虚函数和虚函数的区别

首先:强调一个概念 定义一个函数为虚函数,不代表函数为不被实现的函数。 定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。 定义一个函数为纯虚函数,才代表函数没有被实现。 定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。简介假设我们有下面...

2016-09-28 23:43:07

阅读数:457

评论数:0

PCL1.8之features模块编译预处理PCL_ONLY_CORE_POINT_TYPES

最近要用到PCL,先编译了1.7版本,发现features模块下面的pcl_features_release.lib和pcl_features_debug.lib都接近40M大小;但是后来编译了1.8版本之后,发现这两个文件都是6M多一点。在理论上1.8版本这个模块还多几个.cpp和.hpp,1....

2016-09-28 23:35:05

阅读数:555

评论数:0

PCL读取PCD文件

#include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h>int main(int argc, char ** argv) { pcl::PointCloud&l...

2016-09-26 22:10:41

阅读数:2165

评论数:0

k-d tree算法的研究

动机 先前写了一篇文章《SIFT算法研究》讲了讲SIFT特征具体是如何检测和描述的,其中也提到了SIFT常见的一个用途就是物体识别,物体识别的过程如下图所示: 如上图(a),我们先对待识别的物体的图像进行SIFT特征点的检测和特征点的描述,然后得到了SIFT特征点集合。接下来生成物体目标描...

2016-09-26 21:30:03

阅读数:715

评论数:0

'static_cast': cannot convert from 'double' to 'pcl::visualization::LookUpTableRepresentationPropert

在win10上用vs2013编译PCL1.8的时候,编译到visualization模块时,如下语句会报错。if (!pcl::visualization::getColormapLUT (static_cast<LookUpTableRepresentationProperties>...

2016-09-25 11:13:02

阅读数:1705

评论数:2

CMake构建PCL项目

当我们下载、编译并安装好PCL之后,我们来看看如何利用CMake来构建依赖PCL的项目。最关键的一点是CMakeLists.txt文件的编写,例子如下:cmake_minimum_required(VERSION 2.6 FATAL_ERROR) project(HELLO_WORLD)#设置PC...

2016-09-24 15:24:48

阅读数:1145

评论数:0

PCL-基本结构PointCloud

PCL中的基本数据结构是PointCloud,PointCloud是一个C++类,包含了如下数据域: width (int) 用点云数据集中的点数初始化width,width其实有两个含义: (1)对于无组织或者说无结构的点云来说,width就是指点云中点的个数。 (2) 对于有结构的点云来...

2016-09-24 06:48:32

阅读数:8168

评论数:0

OpenMP并行程序设计(一)

OpenMP是一个支持共享存储并行设计的库,特别适宜多核CPU上的并行程序设计。今天在双核CPU机器上试了一下OpenMP并行程序设计,发现效率方面超出想象,因此写出来分享给大家。   在VC8.0中项目的属性对话框中,左边框里的“配置属性”下的“C/C++”下的“语言”页里,将OpenMP支持...

2016-09-23 22:42:03

阅读数:996

评论数:0

认识OpenMP优点

进入多核时代后,必须使用多线程编写程序才能让各个 CPU 核得到利用。在单核时代,通常使用操作系统提供的 API 来创建线程,然而,在多核系统中,情况发生了很大的变化, 如果仍然使用操作系统 API 来创建线程会遇到一些问题。具体来说,有以下三个问题:#1 CPU 核数扩展性问题  多核编程需要考...

2016-09-23 22:19:14

阅读数:1220

评论数:0

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