03 2013 档案

摘要:OpenCV(计算机视觉库)2.4.4版本已经发布了,OpenCV发展到现在,由最初的C接口变成现在的C++接口,让开发者写程序越来越简单,接口越来越合理,也不用担心内存释放问题。但要理解内部的一些实现机制,还真要费点功夫,这对开发者的C++基础要求越来越高。本文就是笔者在做项目过程中的一点感悟,由C++泛型句柄类思考OpenCV的Ptr模板类的实现。1、C++泛型句柄类我们知道在包含指针成员的类中,需要特别注意类的复制控制,因为复制指针时只复制指针中的地址,而不会复制指针指向的对象。这将导致当两个指针同时指向同一对象时,很可能一个指针删除了一对象,另一指针的用户还认为基础对象仍然存在,此时就 阅读全文
posted @ 2013-03-24 22:44 阳光守望者 阅读(9933) 评论(5) 推荐(6)
摘要:以前对PCA算法有过一段时间的研究,但没整理成文章,最近项目又打算用到PCA算法,故趁热打铁整理下PCA算法的知识。本文观点旨在抛砖引玉,不是权威,更不能尽信,只是本人的一点体会。主成分分析(PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数量的特征对样本进行描述以达到降低特征空间维数的方法,它的本质实际上是K-L变换。PCA方法最著名的应用应该是在人脸识别中特征提取及数据维,我们知道输入200*200大小的人脸图像,单单提取它的灰度值作为原始特征,则这个原始特征将达到40000维,这给后面分类器的处理将带来极大的难度。著名的人脸识别Eigenface算法就是采用PCA算法,用一 阅读全文
posted @ 2013-03-20 12:20 阳光守望者 阅读(29443) 评论(4) 推荐(0)
摘要:1、将指针封装成一个智能指针类,当其他类需要使用指针时,可用智能指针类代替,将智能指针类对象作为类成员;2、智能指针类作为辅助类,包含了引用计数,当主类的对象进行复制、赋值时,智能指针类中引用计数会相应增加或减少,若计数为0时, 则对对象进行析构;计数不为0时,则不对智能指针类对象进行析构(智能指针类需要动态创建),这样,可以防止出现悬垂指针。下面的代码有助于加强对智能指针的理解。 1 #include <iostream> 2 3 4 //定义仅由HasPtr类使用的U_Ptr类,用于封转使用计数和相关指针 5 class U_Ptr 6 { 7 friend cl... 阅读全文
posted @ 2013-03-01 20:35 阳光守望者 阅读(2160) 评论(0) 推荐(0)