自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中交换指针的问题

通常的话,我们都只是对普通的数据进行交换,交换指针的情况并不多见,出于感兴趣,自己在这方面也稍微总结一下以便查阅;首先看一下两个数据的交换:(比较简单):void swapp1(int *p,int *q){ int temp; temp=*p; *p=*q; *q=temp;}通过指针访问整型数据并进行交换;但是如果想交换指针的话,就要通过访问指针的指针来进行交换(指针也只是

2016-10-26 21:04:50 8545

原创 malloc/free与new/delete的区别与联系

不同点 1:操作对象的不同Malloc 和 free 是C++/C语言中的标准函数,使用时需要头文件的支持(malloc.h);而new/delete是C++中的操作符。他们都能够在C++中动态的分配内存和释放内存资源。对于一般的数组、结构的动态创建而言没什么差别,但是对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对

2016-10-15 10:22:49 684

转载 深入解析GDAL库的RasterIO()函数

转自:http://blog.csdn.net/liminlu0314/article/details/8301585首先说明一下GDALRasterBand的RasterIO函数,波段类的RasterIO函数相比GDALDataset类的RasterIO函数比较简单,先从这个简单的说起。图像还是以上面的图为例,我们只取第一个波段为例进行说明。第一个波段的图像如下图所示:

2016-10-12 20:28:21 14539

原创 C++中const char*, string 与char*的转化

1:string转化成const char*可以通过调用string类中的c_str函数实现string向const char*的转换//string与const char*转换string s = "string_To_const char* ";const char *c_s=s.c_str();还可以直接使用string类中的data()函数,直接对const cha

2016-10-11 21:08:30 23280 2

原创 多线程编程入门(一)

多线程简介1: 什么是多线程多线程,是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程,进而提升整体处理性能。具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理或同时多线程处理器。在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。具有多线程能力的计算机因有硬件支持而能够

2016-09-24 15:53:00 7652

原创 VC++修改应用程序的外观

在MFC中,修改应用程序的外观可以通过CMainFrame类中的两个函数来实现;即PreCreateWindow(CREATESTRUCT& cs)和OnCreate(LPCREATESTRUCT lpCreateStruct);下面逐一介绍这两个函数;1:PreCreateWindow(CREATESTRUCT& cs)顾名思义可以看出该函数是在创建窗口之前修改的外观和大小,而且该函数是

2016-09-16 10:15:24 1831

转载 排序算法之选择排序和冒泡排序

原文转自:http://blog.csdn.net/morewindows/article/details/66578291:算法分析中比较经典的当属于排序算法,最早接触的是选择排序和冒泡排序;但是这两种算法的效率都不是很高,通过计算可以得知时间复杂度都为O(n的平方)冒泡排序非常容易理解和实现的;设数组长度为N。1.比较相邻的前后二个数据,如果前面数据大于后面的数据,就将二个

2016-06-15 21:07:43 451

原创 主成分分析法原理与MATLAB实现

1:主成分分析原理:主成分分析法是利用降维的思想,把多指标转化为少数几个综合指标(即主成分),其中每个主成分都能够反映原始变量的大部分信息,且所含信息互不重复。这种方法在引进多方面变量的同时将复杂因素归结为几个主成分,使问题简单化,同时得到的结果更加科学有效的数据信息。例如,做一件上衣需要测量很多尺寸,如身高,袖长,腰围,胸围,肩宽等十几项指标,但是厂家不可能把尺寸型号分这么多,而是从这十几种

2016-06-14 19:51:12 83922

原创 OpenCV用形态学方法进行图像线特征和角点的提取

1:图像形态学用于边缘的提取:我们知道,图像膨胀后边缘会扩张,腐蚀后会紧缩,通过计算膨胀与紧缩的图像之差,就可以粗略的检测出图像的边缘;int _tmain(int argc, _TCHAR* argv[]){ Mat image = imread("007.jpg",1); cvtColor(image,image,CV_RGB2GRAY); namedWindow("原图"

2016-06-04 21:14:33 5268

转载 opencv图像形态学处理

部分内容转至http://blog.csdn.net/welcome_xu/article/details/66949851:图像的形态学处理:膨胀、腐蚀、开、闭运算是数学形态学最基本的变换,用得最多的主要是针对二值图像的形态学膨胀:把二值图像各1像素连接成分的边界扩大一层(填充边缘或0像素内部的孔);腐蚀:把二值图像各1像素连接成分的边界点去掉从而缩小一层(可提取骨干信息,去掉毛

2016-06-04 20:17:13 4347

原创 OpenCV中关于求算图像的直方图(二)

1:由于calhist()函数求得的直方图返回值也是一个一维或三维等等的矩阵,因此可以采用可视化的方式将结果显示出来;为此我们将计算和显示的功能封装到一个类中来实现:class Histogram1D{private: int histSize[1]; //项的数量;保存了维数和分块的信息; float histRange[2]; //灰度最大值和最小值;

2016-06-04 09:57:06 657

原创 OpenCV中关于求算图像的直方图(一)

部分内容来自http://blog.jobbole.com/84215/1:关于求算直方图的函数cv::calhist()opencv中自带了求算图像直方图的函数calhist(),关于calhist(),函数原型如下:CV_EXPORTS void calcHist( const Mat* images, int nimages,

2016-06-04 08:39:30 2569

原创 C++浅析函数指针

函数指针,即指向函数的指针,函数其实也就是一个代码块,也有指针,运用函数指针可以实现很多功能;比如调用函数或者用作函数参数(回调函数);函数指针的声明方法和普通函数略有区别;返回值类型 ( 指针变量名) ([形参列表]);例如:int func(int x); /* 声明一个函数 */int (*f) (int x); /* 声明一个函数指针 */f = fun

2016-05-29 17:19:20 383

转载 第一个GDAL代码实践

刚刚开始学习GDAL,在http://blog.csdn.net/liminlu0314/article/details/7072007的参考下写了第一个小代码:// GDAL_1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "gdal_priv.h"#include "cpl_conv.h"#include#include

2016-05-28 23:19:39 1202

转载 VS2012中GDAL环境变量的搭建

在学长的介绍下初次接触到GDAL,感觉在遥感影像数据的处理与分析方面功能十分强大,于是就准备学习一下,网上资料也挺多,但是个人推荐李老师的博客http://blog.csdn.net/liminlu0314/article/details/7072007,他总结的十分全面。在搭建环境变量时,主要有以下几个步骤:1:下载GDAL我的是直接从师兄 那里拷贝的,所以不需要编译

2016-05-26 21:03:31 2729

转载 按钮控件编程实例

一:按钮控件按钮控件有一般的button按钮,radio button单选按钮和check button按钮;他们都是派生于CButton类的实例对象,综合这些按钮可以实现不同的功能;二:编程实例1:创建基于MFC对话框的应用程序,设计对话框如下:2:给6个check 复选择按钮添加六个control变量;m_check1,...m_check6;然后在初始化对话框的函数里

2016-05-22 15:47:29 758

转载 文件对话框

一:文件对话框文件对话框分为打开文件对话框和保存文件对话框,都需要一个文件对话框的类CFileDialog,具体函数参看msdn;二:实例:1:创建一个基于对话框的MFC应用程序;2:添加两个EditBox和两个button;修改ID为IDC_EDIT_OPEN和IDC_EDIT_SAVE,button的ID为IDC_BUTTON_OPEN和IDC_BUTTON_SAVE;;如下图

2016-05-22 11:51:28 1572

原创 MFC创建属性对话框(2)

一:一般属性页对话框上一节讲了向导对话框的创建,这一节来介绍一般属性页对话框;一般属性页对话框是以标签为向导的,通过点击标签来实现属性页的切换;二:创建一般属性页对话框创建流程同向导对话框,首先添加对话框和表单CPropertyPage类,然后添加CPropertySheet类;不同的是不需要“下一步”和“完成”等按钮,所以上一讲中属性页类的OnSetActive和OnWizard

2016-05-22 10:43:31 522

原创 MFC创建属性对话框(1)

一:属性页对话框属性页对话框包括一般属性页对话框和向导对话框;共同特点是集多个对话框于一身,一般属性页对话框通过标签来回切换,而向导对话框通过按钮来回切换;创建属性页常用的两个类是CPropertyPage类和CPropertySheet类,CPropertyPage类表示单个属性页面,后者表示整体属性对话框;大家可以在MSDN中详细了解这两个类;二:创建向导对话框1:首先创建一个

2016-05-21 15:05:23 2620

原创 MFC创建模态对话框和非模态对话框(2)

一:创建非模态对话框创建过程同模态对话框,都是先添加对话框资源,添加对话框类,不同之处在于非模态对话框需要动态创建,因为是动态创建,所以需要先定义对话框类指针;private: CMoTaiDlg* m_MoTaidlg; 同模态对话框,也需要在主对话框cpp中添加头文件;既然定义了指针,就必须得初始化,可以在主对话框的构造函数中初始化该指针;CTwoKindDLGDlg::CT

2016-05-21 14:20:26 501

原创 MFC创建模态对话框和非模态对话框(1)

一:模态对话框和非模态对话框模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。   非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。 二:运行过程首先添加一个对话框和一个对话框类;在主对话框中添加一个butto

2016-05-21 13:04:35 1038

空空如也

空空如也

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

TA关注的人

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