自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

my_lord

In me the tiger sniffs the rose

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

原创 初始化拓展

layout: posttitle: “Eigen - Advanced initialization”date: 2019-5-28description: “Eigen说明文档(1.5)”tag: Eigen初始化拓展这一节主要介绍矩阵/数组的初始化。常用的初始化方式Eigen 重写了C++的输入/输出符号<< / >> 实现对矩阵和vector的...

2019-05-30 09:33:23 318

原创 Eigen - Block operations

layout: posttitle: “Eigen - Block operations”date: 2019-5-28description: “Eigen说明文档(1.4)”tag: Eigen块操作这一节主要是讲矩阵的块操作,块操作运行矩阵、数组的一部分进行操作运算。而且,Eigen表示这部分操作不会产生额外的计算成本。Using block operations...

2019-05-30 08:40:47 783

原创 介绍Array 类和其相关的系数运算方式

layout: posttitle: “Eigen - The Array class”date: 2019-5-28description: “Eigen说明文档(1.3)”tag: Eigen介绍Array 类和其相关的系数运算方式什么是Array类?Array类跟前面介绍的Matrix相似,不过在形式和运算方式上略有区别。Array主要用于线性代数的运算中。Array类的形...

2019-05-30 08:40:08 451

原创 Eigen - Overview

---layout: posttitle: "Eigen - Overview"date: 2019-5-27description: "Eigen说明文档(一)"tag: Eigen--- #写在最前面的废话Eigen这个库从接触开始就知道他很厉害,但每次都是用到的时候百度以下,不用的时候就放下了(不要问我为什么不用谷歌,因为百度已经能够满足我这个层次的完全需求-哈哈哈)...

2019-05-27 21:38:45 197

原创 三维空间变换中旋转矩阵左乘与右乘的区别

---layout: posttitle: "三维空间变换中旋转矩阵左乘与右乘的区别"date: 2019-05-20description: "三维空间变换"tag: 3D视觉--- #三维旋转变换中矩阵左乘与右乘的区别在三维变换中经常遇到的一个问题就是闹不明白旋转矩阵左乘与右乘有什么区别。分析发现,若绕静坐标系(世界坐标系)旋转,则左乘,也是变换矩阵*坐标矩阵;若是...

2019-05-27 21:08:19 19121 9

原创 Detecting Holes in Point Set Surfaces 笔记

---layout: posttitle: "Detecting Holes in Point Set Surfaces 笔记"date: 2019-5-23description: "点云空洞发现算法"tag: 3D视觉--- <img src="/doc_imgae/2019-5-23/1.png" height="300" width="500">----...

2019-05-27 21:06:50 1051

原创 AE学习记录之添加状态栏

        依次修改属性参数如下表所示: 序号 Name 属性 Text 属性 Spring 属性 说明 1 MessageLabel 就绪 False 当前所用工...

2019-02-12 14:23:54 397

原创 ICP迭代最近点优化

点云之间的局部配准问题采样迭代最近点算法(IteratedClosest Points, ICP),ICP算法因为其思想简单,精度高等特点成为了局部配准的主流算法。迭代最近点算法(ICP)顾名思义,就是采用迭代优化的思想以空间距离作为匹配点的选择依据,通过不断调整点云的位姿使得匹配点之间距离累计最小。假设有两组点云,其中一个目标点云A另一个为参考点云B,ICP算法的目的是为了算出一个最优的旋转

2017-07-25 09:30:13 5754 2

转载 c++ assert() 使用方法

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#i

2017-02-20 09:57:38 1120

转载 回调函数与C++中类成员作为回调函数

一、回调函数 在看LWIP时,见到用回调函数,再看某老外公司OPC源代码时,见到用回调函数。看我国内某些代码(我公司软件等)时没用到。于是,我对回调函数产生了很大的好奇。以前,我写VC程序时用到过回调函数,但是没有用C语言来使用。最近,看到国外大量的经典代码中广泛使用了回调函数(LWIP、某两个公司的OPC程序等),都是C语言来实现的,而不是VC windows程序中别人实现自己使用的

2017-02-19 20:08:30 2109

转载 extern C的作用详解

extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。     这个功能十分有

2017-02-18 21:39:04 386

原创 opengl学习笔记之指定着色模型

一、指定着色模型OpenGL允许为同一多边形的不同顶点指定不同的颜色。例如:#include const GLdouble Pi = 3.1415926536;void myDisplay(void){    int i;    // glShadeModel(GL_FLAT);    glClear(GL_COLOR_BUFFER_BIT);    glBeg

2017-02-16 11:14:44 2429

原创 C++用new和不用new创建对象区别

C++用new和不用new创建对象区别起初刚学C++时,很不习惯用new,后来看老外的程序,发现几乎都是使用new,想一想区别也不是太大,但是在大一点的项目设计中,有时候不使用new的确会带来很多问题。当然这都是跟new的用法有关的。new创建对象,使用完后需使用delete删除,跟申请内存类似。所以,new有时候又不太适合,比如在频繁调用场合,使用局部new对象就不是个好选择,使用全局类

2017-02-16 10:20:20 803

转载 C++ operator关键字(重载操作符)

http://blog.sina.com.cn/s/blog_4b3c1f950100kker.html operator是C++的关键字,它和运算符一起使用,表示一个运算符函数,理解时应将operator=整体上视为一个函数名。   这是C++扩展运算符功能的方法,虽然样子古怪,但也可以理解:一方面要使运算符的使用方法与其原来一致,另一方面扩展其功能只

2017-02-14 20:31:30 264

原创 PLY格式介绍与读取

一、格式介绍PLY介绍PLY是一种电脑档案格式,全名为多边形档案(Polygon File Format)或 斯坦福三角形档案(Stanford Triangle Format)。 史丹佛大学的 The Digital Michelangelo Project计划采用PLY格式储存极高分辨率之米开朗基罗的作品"大卫"雕塑。该格式主

2017-02-09 15:53:19 12809 3

转载 优秀程序员不得不知道的20个位运算技巧

一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读《编程之美》求“1的数目”时,我才开始觉得位运算是如此之美,后来读到 《Hacker's Delight》,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一

2017-02-09 13:35:25 288

原创 OpenCV学习笔记之鼠标响应回调函数setMouseCallback

openCv中的鼠标回调函数是为了处理鼠标操作消息的响应事件,函数原型为:                     C++:   void   SetMouseCallback(const string & winname,MouseCallback onMouse,void* userdata=0)第一个参数:const string & 类型的winname ,窗口的名字;第二个参

2016-12-29 15:51:55 6127

原创 OpenCV学习笔记之随机数生成器

用OpenCV做算法的朋友们肯定为随机数烦恼过,新版本一直支持随机数产生器啦,而且还继续支持之前版本的c格式的函数,不过与时俱进,我这里介绍C++的RNG类。它可以压缩一个64位的i整数并可以得到scalar和array的随机数。目前的版本支持均匀分布随机数和Gaussian分布随机数。随机数的产生采用的是Multiply-With-Carry算法和Ziggurat算法。其构造函数的初始化可以

2016-12-29 14:46:03 386

原创 CloudCompare源码编译

cloudcompare是一款优秀的开源点云处理软件,前往http://www.cloudcompare.org/下载安装软件,如果想学习源码,只需要下载源码即可。下面介绍一下cloudcompare的编译过程。 1. 安装Qt cloudcompare采用的是Qt界面,首先需要安装Qt,我这里采用的Qt5.2.1。 2. 下载cloudcompare源码 https://gith

2016-12-28 10:10:53 11666 12

原创 AE学习笔记之地图编辑(上)

地图编辑这一部分还是挺复杂的,先看一下整个编辑过程的流程图(图1),再继续介绍每一步的细节信息和代码。图1 流程图具体步骤如下:一、新建一个编辑工具栏工具栏的样式如下,包括一下几个内容:编辑、选择、取消、重复、节点、移动、目标图层(Combox列表)、属性、保存、退出。各个控件的功能介绍如下:编辑:该按钮是开始编辑按钮。选择:单击该按钮可以选择地图上一定区域内的要素。

2016-12-25 15:56:39 2547 5

原创 GeoProcessor的用法介绍

为了降低开发难度和提高开发效率,ArcGIS Engine 9.2中添加了GeoProcessor类,该类的作用ESRI的帮助文档中的说明为:A geoprocessing tool is executed by ageoprocessor. The geoprocessor is a helper object that simplifies the task of executing to

2016-11-28 15:26:28 2440

原创 IFeatureSelection接口

提供控制要素选择的成员:        Add,BufferDistance,Clear,CombinationMethod,SelectFeatures,SelectionChanged,SelectionColor,SelectionSet,SelectionSymbol,SetSelectionSymbol。 IFeatureSelection用来在图层上管理

2016-11-28 15:03:40 672

原创 PCL+MFC+OpenGL程序发布主意事项

今天发现了一个超级厉害的东西(ps暴露了我的无知),release模式下的程序运行速度比debug快的不是一个量级。下面记录以下我的程序发布时遇到的一些小问题。1、即使在debug已经配置过PCL后release模式编译时需要需要从新配置,相当于两个模式。而且两者的lib文件不太一样,在添加的时候需要注意。2、程序发布以后,有可能会提示缺少某某dll,这就需要你把相应的dll文件放入你的项

2016-11-07 20:39:25 1857

原创 AE学习笔记之空间查询

ArcGIS Engine 的空间查询功能是其最大的一个特色,本文主要介绍一下空间查询的流程。首先,新建一个对话框用于选择查询的图层与查询方式。添加三个Label控件,两个ComboBox,两个Button和一个TextBox。各控件属性设置如下:名称(Name)Text属性描述lblLayer选择图层:

2016-10-16 21:36:33 10731 14

原创 AE学习笔记之距离量测和面积量测

距离量测和面积量测        距离量测即根据鼠标点击的位置得到地图上的距离。首先建立一个量测结果显示对话框,如下图:对话框中的函数如下: public delegate void FormClosedEventHandler(); public FormClosedEventHandler frmClosed = null;

2016-10-14 16:14:53 6073 6

原创 AE学习笔记之右键菜单的添加与实现

ArcGIS Engine 中自定义了一些添加命令、工具和菜单的基类,在需要写相应函数的时候可以直接很方便的添加。我在前面的文章里面有一节讲述过如何添加控件命令:http://blog.csdn.net/my_lord_/article/details/52599153   。本节讲述一下右键菜单的实现,右键菜单也就是单击鼠标右键时弹出的一个菜单项。主体也就是新建一个IToolbarMen

2016-10-11 14:46:20 5645 2

原创 AE开发学习记录之状态栏添加

一、添加控件                状态栏用于显示当前程序的活动状态,一般在程序的底部,控件名为StatusStrip。添加完控件以后,在控件属性中选择Item项中的添加StatusLabel,分别为:MessageLabel、Blank、ScaleLabel、coordinateLabel。分别代表含义如下:序号 Name 属性 Tex

2016-09-29 10:08:07 2140

原创 AE学习日记之MapControl与PageLayoutControl图层变化同步

在许多AE的练习代码中,演示的MapControl 与PageLayeroutControl都是分开两次打开地图文件来实现。但是,如果这样的话,PageLayoutControl与MapControl不能同步,即当改变MapControl中的内容时无法在PageLayoutControl控件里面立即显示出来。若想要实现两者的同步,只要把两个控件的共享提个地图图层即可。具体实现过程如下:

2016-09-21 10:05:10 4118

原创 AE学习笔记之添加ToolbarControl控件命令

在实际开发中有时经常会需要自定义一些命令或工具,因此在此记录一下AE中添加自定义命令的流程。下面以添加打开文件的命令为例:首先在项目文件下添加一个类,选择ArcGIS-BascCommand。如下图:               添加一个新的基类后,Arcgis会提示选择的 创建command的类型。我也不知道不同类型的区别,按照名字意思我选择了第二项。

2016-09-20 20:06:39 12689

原创 AE学习笔记之地图符号化

地图符号化就是对ArcGIS 中加载的地图图层进行渲染,地图图层可以分为点、线、面、三种形式。根据每个图层的图层类型可以分别对点、线、面要素,即MarkerSymbol、LineSymbol、和FillSymbol 进行渲染。        1、点对象        MarkerSymbol对于修饰点对象符号拥有五个子类:SimpleMarkerSymbol、ArrowMarkerSymb

2016-09-18 19:18:52 3787

转载 VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)

上一节中鸡啄米讲了为Ribbon Bar添加控件的方法。本节教程鸡啄米将继续完善前面的实例,讲解一些稍复杂的控件的添加方法,及如何为它们添加消息处理函数。       一、为Ribbon Bar添加更多Ribbon控件       鸡啄米将在上一节实例的基础上,继续添加下拉菜单、Check Box、Combo Box等Ribbon控件。       1、首先把“Small Button

2016-09-01 16:16:50 856

转载 VS2010/MFC编程入门之五十三(Ribbon界面开发:为Ribbon Bar添加控件)

前面一节中鸡啄米为大家简单介绍了如何创建Ribbon样式的应用程序框架,本节教程就来初步讲讲怎样为Ribbon Bar添加Ribbon控件。       VS2010为Ribbon界面开发提供了Ribbon Designer,通过它我们可以为Ribbon Bar添加各种Ribbon控件、设置控件属性和进行界面布局。       Ribbon的界面元素可以分为类别、面板和基本控件(按钮、

2016-09-01 16:15:06 1866 2

转载 VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)

上一节中鸡啄米讲了GDI对象之画刷CBrush,至此图形图像的入门知识就讲完了。从本节开始鸡啄米将为大家带来Ribbon界面开发的有关内容。本文先来说说如何创建Ribbon样式的应用程序框架。       Ribbon界面就是微软从Office2007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了点击鼠标的次数的新型界面,从实际效果来看,不仅外观漂亮,而且功能直观,用户操作简洁方

2016-09-01 16:13:16 1040

转载 VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)

上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush。       鸡啄米依然是通过实例的方式来说明画刷的用法。此实例要实现的功能是,对话框上有一个按钮控件和一个图片控件,点击按钮弹出颜色对话框,然后在颜色对话框中选择颜色并点击“确定”后,图片控件中将显示选择的颜色。       其实此实例的功能,还可以通过重载对话框WM_

2016-09-01 16:11:53 547

转载 VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen。       GDI对象       在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObject类有六个直接的派生类,GDI对象主要也是这六个,分别是:CBitmap、CBrush、CFont、CPalette、CPen和CRgn。       在这六个G

2016-09-01 16:10:48 2703

转载 VS2010/MFC编程入门之四十九(图形图像:CDC类及其屏幕绘图函数)

上一节中鸡啄米讲了文本输出的知识,本节的主要内容是CDC类及其屏幕绘图函数。       CDC类简介       CDC类是一个设备上下文类。       CDC类提供了用来处理显示器或打印机等设备上下文的成员函数,还有处理与窗口客户区关联的显示上下文的成员函数。使用CDC的成员函数可以进行所有的绘图操作,包括处理绘图工具、GDI对象的选择、颜色和调色板的处理、获取和设置绘图属性、映

2016-09-01 16:09:41 1914

转载 VS2010/MFC编程入门之四十六(MFC常用类:MFC异常处理)

上一节中鸡啄米讲了CFile文件操作类,本节主要来说说MFC异常处理。       在鸡啄米C++编程入门系列的最后一节鸡啄米:C++编程入门系列之五十(异常处理)中,鸡啄米讲了C++标准异常的处理机制,如果你还没有学过这方面内容,可以到那节教程中去学习下。       MFC异常处理与C++标准异常处理是类似的,只是它在抛出和捕获异常时使用了一些宏,另外还将异常封装到了CExceptio

2016-09-01 16:02:16 3268

转载 VS2010/MFC编程入门之四十五(MFC常用类:CFile文件操作类)

上一节中鸡啄米讲了定时器Timer的用法,本节介绍下文件操作类CFile类的使用。       CFile类概述       如果你学过C语言,应该知道文件操作使用的是文件指针,通过文件指针实现对它指向的文件的各种操作。这些文件操作函数中有的最终还是调用了操作系统的API函数或者处理过程与之类似,例如在Windows系统中,fread函数就调用了API函数ReadFile。      

2016-09-01 15:59:37 1208

转载 VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)

前面一节鸡啄米讲了CTime类和CTimeSpan类的使用,本节继续讲与时间有关的定时器。定时器并不是一个类,主要考虑到,提起时间的话就不能不说定时器,所以就把它放到CTime和CTimeSpan之后讲解。       定时器简介       定时器,可以帮助开发者或者用户定时完成某项任务。在使用定时器时,我们可以给系统传入一个时间间隔数据,然后系统就会在每个此时间间隔后触发定时处理程序,

2016-09-01 15:58:30 420

转载 VS2010/MFC编程入门之四十三(MFC常用类:CTime类和CTimeSpan类)

上一节中鸡啄米讲了MFC常用类CString类的用法,本节继续讲另外两个MFC常用类-日期和时间类CTime类和CTimeSpan类。       日期和时间类简介       CTime类的对象表示的时间是基于格林威治标准时间(GMT)的。CTimeSpan类的对象表示的是时间间隔。       CTime类和CTimeSpan类一般不会被继承使用。两者对象的大小都是8个字节。 

2016-09-01 15:57:13 1809

空空如也

空空如也

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

TA关注的人

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