自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Linear_Luo的专栏

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

原创 卷积理解与思考

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

2016-08-22 01:05:57 1528 4

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

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

2016-08-17 11:10:37 2228 1

原创 大数定律理解

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

2016-10-08 20:28:49 5814 0

转载 MIT牛人解说数学体系

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

2016-10-08 19:54:47 1307 0

转载 typedef typename 理解

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

2016-10-07 10:37:45 606 0

转载 积分图像与积分直方图

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

2016-10-02 22:29:34 958 0

原创 union理解与妙用

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

2016-10-02 12:57:44 2785 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 648 0

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

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

2016-09-29 10:09:03 9773 1

原创 #include 理解与思考

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

2016-09-29 00:22:37 786 0

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

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

2016-09-28 23:47:41 504 0

转载 纯虚函数和虚函数的区别

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

2016-09-28 23:43:07 517 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 708 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 2604 0

转载 k-d tree算法的研究

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

2016-09-26 21:30:03 756 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 1869 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 1949 0

翻译 PCL-基本结构PointCloud

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

2016-09-24 06:48:32 12523 0

转载 OpenMP并行程序设计(一)

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

2016-09-23 22:42:03 1572 0

原创 认识OpenMP优点

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

2016-09-23 22:19:14 1647 0

转载 超像素分割技术发展情况梳理(Superpixel Segmentation)

一. 基于图论的方法(Graph-basedalgorithms): 1.Normalized cuts, 2000. Jianbo Shi and Jitendra Malik.Normalized cuts and image segmentation. IEEE Transa...

2016-09-19 19:25:52 3143 0

原创 超像素(Superpixel)理解

最近看点云处理的文章,有些文章中提到了superpixel这个概念,查了一些资料,对其理解记录如下: 超像素就是把一幅原本是像素级(pixel-level)的图,划分成区域级(district-level)的图。可以将其看做是对基本信息进行的抽象。 超像素分割属于图像分割(image segmen...

2016-09-19 19:21:33 16470 4

原创 ICP算法理解

1 经典ICP  ICP的目的很简单,就是求解两堆点云之间的变换关系。怎么做呢?思路很自然,既然不知道R和t(针对刚体运动),那我们就假设为未知量呗,然后通过某些方法求解。下面我们来看看具体怎么求的~没办法,要把问题描述清楚,数学是少不了的了。假设有两堆点云,分别记为两个集合X=x1,x2,......

2016-09-18 17:15:13 17216 3

转载 Kinect与KinectFusion重建

有关Kinect应用开发正日新月异,稍有懈怠就会被远远甩在身后。不过,Kinect目前带给我们的仍只是一个充满无限可能的远景,正如App store能吸引年仅11岁的开发者一样,Kinect未来将对“全民开发者”产生重要推动作用。另一方面,一些基于Kinect的应用研究仍颇复杂,主要是因为一些关键...

2016-09-17 15:39:36 3546 1

原创 DIP关键算法-去噪算法评价标准

去噪算法是图像处理里面一个基础的问题,对于去噪算法的好坏一个直接的判断就是视觉上的感知,但是这只能作为一个定性的判断,在实际的应用中,我们还需要进行定量分析,进而做出最终的判断。在实际中往往采用原始图像IoriginI_{origin}和去噪图像IdenoiseI_{denoise}之间的残差图像...

2016-09-15 17:57:55 2393 0

原创 格拉姆-斯密特过程

在线性代数中,格拉姆-斯密特过程应该是个比较基础的东西,一直都只是有个模糊的印象,不知道具体的操作,其实我以为这是个高大上的算法,没想到这个算法是这么地亲民。   格拉姆-斯密特过程是实现正交化的一个方法:给定矩阵AA,若AA中各列向量线性无关,则AA可以产生一个正交矩阵QQ,可以简单地将QQ理...

2016-09-14 15:46:15 2470 0

原创 DIP关键算法-自适应直方图均衡化

1 自适应直方图均衡化(AHE)  自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术。和普通的直方图均衡算法不同,AHE算法通过计算图像的局部直方图,然后重新分布亮度来来改变图像对比度。因此,该算法更适合于改进图像的局部对比度以及获得更多的图像细节。但是,AHE有过度放大图...

2016-09-13 17:04:23 5033 0

原创 DIP关键算法-直方图均衡化

直方图均衡化中均衡的含义指图像的直方图是平直的,即各灰度级具有相同的出现频数,而均衡化则是将原图像的直方图通过变换函数修正为均匀的直方图,使图像看起来更清晰。即直方图均衡化的本质就是找到合理的映射,将原图像中的亮度重新调整,以使亮度的分配更加均匀。matlab实现如下,结合代码来看思路更加清晰。 ...

2016-09-13 09:27:53 1203 0

原创 VCG笔记-mesh元素的创建/删除

1 创建mesh元素  我们在创建简单的网格模型或者为已存在的网格模型添加元素的时候,我们应该使用AddVertices和AddFaces这两个函数,新的元素被添加到网格模型的尾部,函数会返回指向第一个新分配(或者说是添加)的第一个元素的指针。向vector添加元素会引起存储空间的重新分配(rea...

2016-09-11 10:29:40 1783 0

原创 VCG笔记-如何定义mesh

VCG lib提供了很多对mesh进行编码的方式,最常见的就是由一个顶点(vertices )集合和一个三角形(triangles )集合构成,(即三角形构成三角形网格,四面体构成四面体网格)。如下面这行代码就是VCG中定义mesh类型的一个例子:class MyMesh : public vcg...

2016-09-08 10:44:46 2435 0

原创 VCG简介与安装

1 学习背景  最近在需要用到meshlab中的网格简化与平滑功能并要嵌到自己的项目中,虽然meshlab提供的meshlabserver插件可以用命令行的方式实现,但是在执行的时候会弹出窗口,这样很不友好,于是开始研究meshlab的源码,最后发现meshlab中的简化和平滑功能原来是依赖于VC...

2016-09-07 17:58:53 2855 0

原创 meshlabserver+mlx 模型自动化处理

1 介绍meshlabserver是meshlab中一个很有用的插件,其以命令行的方式运行,基本的语法格式为:meshlabserver arg1 arg2 ...其中可用的参数(args)如下: -i [filename…]   mesh(s) that has to be loaded -o ...

2016-09-01 09:44:19 4014 2

原创 qmake概念理解(二)

操作符qmake提供了很多的可供使用的操作符,但是其中的一些需要谨慎地使用,因为它们也许会比你期待的改变的更多。“=”操作符这个操作符简单分配一个值给一个变量。使用方法如下:TARGET = myapp 这将会设置TARGET变量为myapp。这将会删除原来对TARGET的任何设置。“+=”操作符...

2016-08-31 16:42:21 1501 0

原创 qmake概念理解(一)

qmake介绍  qmake是用来为不同的平台的开发项目创建makefile的Trolltech开发一个易于使用的工具。qmake简化了makefile的生成,所以为了创建一个makefile只需要一个只有几行信息的文件。qmake可以供任何一个软件项目使用,而不用管它是不是用Qt写的,尽管它包含...

2016-08-31 16:27:00 2736 0

原创 QMAKESPEC理解与使用

qmake生成的vs工程与环境变量中的 QMAKESPEC相关,有两种使用方法:  1.默认情况下,即环境变量QMAKESPEC为你装的qt for vs的版本,默认生成的为该版本的vs工程,如,你装的是QT for vs2010,那么环境变量QMAKESPEC=win32-msvc2010,默认...

2016-08-31 15:56:11 4463 1

原创 meshlab1.3.3 + QT5.7 编译

1 编译环境 visual studio 2013 qt-opensource-windows-x86-msvc2013_64-5.7.0 qt-vs-addin-1.2.5 2 源代码(1)下载源代码meshlab v1.3.3下载地址:https://sourceforge.net/proje...

2016-08-31 11:26:41 4184 9

原创 视差和深度分析与计算

我们先来看opencv给出的一个教程[http://docs.opencv.org/3.1.0/dd/d53/tutorial_py_depthmap.html]里面对概念的说明。先看下面这张图:   通过这张图,我们得出视差的计算表达式为: disparity=x−x′=BFZdispa...

2016-08-27 14:16:26 12411 0

转载 计算机视觉开源项目

特征提取 SURF特征: http://www.vision.ee.ethz.ch/software/index.de.html(当然这只是其中之一) LBP特征(一种纹理特征):http://www.comp.hkbu.edu.hk/~icpr06/tutorials/Pietikainen...

2016-08-27 13:43:57 5371 1

原创 cin/getline/gets

cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主 要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象, 也是ostream 类的对象。这里的标准输出指的是终端键盘,标准错误输出指...

2016-08-25 22:39:27 1159 0

原创 计算机编程词汇

application 应用程式 应用、应用程序 application framework 应用程式框架、应用框架 应用程序框架 architecture 架构、系统架构 体系结构 argument 引数(传给函式的值)。叁见 parameter 叁数、实质叁数、实叁、自变量 array...

2016-08-25 21:49:48 2920 0

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