- 博客(21)
- 资源 (7)
- 收藏
- 关注
转载 CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)
转载至:http://blog.youkuaiyun.com/wuxiaoyao12/article/details/7305848为方便自己 一、Mat类型:矩阵类型,Matrix。 在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。 Mat有3个重要的方法: 1、Mat mat = imread
2015-01-24 20:05:12
763
转载 OpenCV c接口与c++接口
Opencv 从c到c++Opencv2.0版本发布后,其新的C++接口,cv::Mat代替了原来c风格的CvMat和IplImage.目前,2.0版本对c的接口也是支持的。相对于c的接口,c++的cv::Mat统一了矩阵和图像这两个概念。事实上,矩阵和图像其实是一样的。由于cv::Mat是c++的类,所以也具备了相关的一些特征。例如,内存的释放。在C++中,一个对象超出其使用范围后,会自
2013-12-20 11:29:22
10127
转载 C++重要知识点小结---1
C++重要知识点小结---11.C++中类与结构的唯一区别是:类(class)定义中默认情况下的成员是private的,而结构(struct)定义中默认情况下的成员是public的。2. ::叫作用域区分符,指明一个函数属于哪个类或一个数据属于哪个类。::可以不跟类名,表示全局数据或全局函数(即非成员函数)。3.类名加载成员函数名之前而不是加在函数的返回类型前。
2013-09-18 10:15:30
943
转载 C++中引用的本质是什么?
C++中引用的本质是什么?一般的教材上讲到引用时,都是说“引用是对象的一个别名”。我认为这种定义是不清晰的,不利于初学者理解引用。至少我自己曾经被这个定义困扰了一段时间。到底什么是“别名”? 实际上,引用的实质是位于xxxxxx地址上的一个xxxx类型的对象。比如教科书上常用的例子: int a = 5; //不妨假设编译器将a分配到0x400000
2013-09-18 10:13:52
1070
转载 静态成员函数和非静态成员函数的区别?
静态成员函数和非静态成员函数的区别?一个静态成员函数不与任何对象相联系,故不能对非静态成员进行默认访问。它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针this。例如: 1 class Sc 2 { 3 public: 4 void nsfn(int a); //像声明Sc::nsfn(Sc *this , in
2013-09-18 10:10:08
8224
转载 C++重要知识点小结---2
C++重要知识点小结---2C++重要知识点小结--1 :http://www.cnblogs.com/heyonggang/p/3246631.html1.C++允许程序员声明一个不能有实例对象的类,这样的类惟一的用途是被继承。这种类成为抽象类。一个抽象类至少具有一个纯虚函数。所谓纯虚函数是指被标明为不具体实现的虚成员函数。如:virtual void WithD
2013-09-18 10:08:12
1303
转载 C++ 虚拟继承
C++ 虚拟继承1.为什么要引入虚拟继承虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。如:类D继承自类B1、B2,而类B1、B2都继 承自类A,因此在类D中两次出现类A中的变量和函数。为了节省内存空间,可以将B1、B2对A的继承定义为虚拟继承,而A就成了虚拟基类。实现的代码如 下:class Aclass B1:public virtual A;clas
2013-09-18 10:07:05
1078
转载 C++重要知识点小结---3
C++重要知识点小结---3C++重要知识点小结---1:http://www.cnblogs.com/heyonggang/p/3246631.htmlC++重要知识点小结---2:http://www.cnblogs.com/heyonggang/p/3253036.html1.什么是智能指针?智能指针是一个行为类似指针但也提供其他功能的类。智能指针类实现普通指
2013-09-18 09:56:31
875
转载 struct 与 typedef struct
struct 与 typedef struct1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙
2013-09-18 09:54:31
789
转载 需要友元的原因及使用
需要友元的原因及使用有时候,普通函数需要直接访问一个类的保护或私有数据成员。如果没有友元机制,则只能将类的数据成员声明为公共的,从而,任何函数都可以无约束的访问它。普通函数需要直接访问类的保护或私有数据成员的原因主要是为提高效率。在类里声明一个普通函数,标上关键字friend,就成了该类的友元,可以访问该类的一切成员。需要友元的另一个原因是为了方便重载操作符的使用。友元
2013-09-18 09:52:03
1235
转载 C++类的静态成员详细讲解
C++类的静态成员详细讲解在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先
2013-09-18 09:50:16
930
转载 位运算
位运算 位运算时把数字用二进制表示之后,对每一位上0或者1的运算。 理解位运算的第一步是理解二进制。二进制是指数字的每一位都是0或者1.比如十进制的2转化为二进制之后就是10。在程序员的圈子里有一个流传了很久的笑话,说世界上有10种人,一种人知道二进制,而另一种人不知道二进制。。。。。。 其实二进制的运算并不是很难掌握,因为位运算总共只有5种运算:与、或、异或、左移、右移。如
2013-09-18 09:42:50
964
原创 MFC程序(在静态库中使用MFC)问题
基本知识:在项目的配置属性中配置“MFC的使用”时,选项的区别:如果选择"在共享 DLL中使用 MFC"的话,编译后的程序中不包含MFC库,所以文件会比较小,但是如果程序直接移到一个没有安装过MFC的机器上时,可能会导致找不到MFC的DLL,如果选择"静态库中使用 MFC ",那么编译后的程序就直接包含了调用MFC的部分的库,文件可能会大一些,但是可以直接移到其他机器上运行.遇到
2012-10-26 15:08:38
12623
1
原创 滚动条控制视频播放问题解决方案
最近在编写视频播放相关的程序,在为视频播放器添加一个滚动条时出现了很多问题,滚动条实现的功能是:随着视频的播放滚动条移动显示进度;滚动条可以随意拖动以调整视频播放到感兴趣的地方,即可以快进后退。之前我的做法是为滚动条添加一个事件处理程序,同时在定时器中不断更新滚动条位置,但是问题是视频出现跳跃重复现象,后来发现程序响应了滑动条OnNMCustomdrawProgress消息,并在此消息中又调整
2012-07-28 16:07:56
4338
原创 cvLoadImage加载图像路径转化
最近在做Opencv图像处理方面的,对加载图像时路径问题头疼了N久,问题解决,记录下来给自己保存。1和2可以在加载一组图片时用。3在加载一幅图像时用1、数组转化为CString:直接用CString函数即可,如:char array[100] = {0};CString str2;str2 =CString(array);2、CString转化为数组类型:char arra
2012-06-05 10:39:23
3403
原创 OpenCV学习-利用ROI裁剪图片
为了提取到一幅图像中感兴趣的区域并裁剪出来作为一幅新图像的方法:1、利用void cvSetImageROI( IplImage* image, CvRect rect )函数设置感兴趣的区域;IplImage* src = cvLoadImage(“D:\\test.jpg”,1);cvSetImageROI(src,cvRect(0,0,0.5*src->width,0.5*src
2012-05-24 21:14:15
18729
转载 cvCopy与cvCloneImage的区别
最近用cvCopy()比较多,而且一直出问题,很纠结…………/* Copies source array to destination array */CVAPI(void) cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask CV_DEFAULT(NULL) );/* Creat
2012-05-24 09:52:34
752
转载 cvCalcEigenDecomposite——opencv内置PCA算法的第二个函数
PCA(Eigenface)方法是人脸识别的主流方法之一。cvEigenDecomposite()函数作用是将人脸图像通过Eigenface变换矩阵,投射到子空间中。子空间中的人脸向量,是一个1×nEigens(nEigens由自己取得)的行向量,极大地降低了数据维度,便于下一步的聚类、识别。结合具体例子,尽量清楚地跟大家讨论这个函数的用途。函数说明如下:EigenDecomposite
2012-05-22 17:27:00
1211
转载 cvCalcEigenObject——opencv内置PCA算法的第一个函数
cvCalscEigenObject()函数,包含于中。在PCA人脸识别的程序中,属于核心算法。先翻译一段注解,原文来自:http://www710.univ-lyon1.fr/~bouakaz/OpenCV-0.9.5/docs/ref/OpenCVRef_ObjectRecognition.htmvoid cvCalcEigenObjects( int nObjects, vo
2012-05-22 17:25:37
776
转载 VS2008中配置GDI+
VS2008中包含GDI+的开发包,配置相对简单。对每个需要使用GDI+的项目,都必须使用同样地方法进行配置。1、在项目属性中添加GDI+静态链接库选择【项目】->【Example属性】(Example为项目名称),打开项目属性对话框。展开“配置属性”,选择“连接器”下面的“输入”,然后在“附加依赖项”中添加“gdiplus.lib”,要想在Release模式下程序也能正常编译,只要选择左
2012-05-18 08:57:41
2612
原创 MFC对话框最小化到托盘编程实现步骤
以工程为例说明过程:此程序编程环境是VS2008,在调试过程中,将字符集修改为“使用多字节字符集”(项目->属性->配置属性->字符集)。例如新建一个MFC对话框工程Dialogtest,程序实现的功能是,修改对话框标题栏上默认的图标,在程序中改为添加的资源IconIDI_ICON1,最小化对话框到托盘。首先,在对话框资源属性页,选择Minimize Box为TRUE。这样可以实现对话
2012-05-15 21:05:55
11213
5
LCD12864程序包
2012-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人