2011年9月7日
摘要: 上文介绍了C/C++编码中内存泄露的问题,不过经过本人测试,好像对用opencv工具包进行编码中的内存泄露并不起作用。CrtSetDbgFlag函数应该针对new/malloc这种方式分配内存的,而opencv的很多函数把内存分配封装了,直接返回一个指针(e.g. cvCreateImage返回IplImage指针),因而并不能检测出opencv编码的内存泄露.(这一段不知道说得对不对,还有待查证:0) ).针对这个问题,网上有一个比较好的解决方法,就直接来过来用了。它是一个针对opencv的内存泄露检测的类,实现如下: //头文件#ifndef OPENCV_MEM_TRACKER_H#de 阅读全文
posted @ 2011-09-07 15:48 carekee 阅读(2742) 评论(0) 推荐(2)
摘要: 先说个下载地址吧:http://download.csdn.net/source/1002260http://www.vckbase.com/tools/downtools.asp?id=22注册码就在压缩包的文本文档里面、之所以是6.01版的,因为它对VC++6支持的很爽BoundsChecker 是一个Run-Time错误检测工具,它主要定位程序在运行时期发生的各种错误。BoundsChecker能检测的错误包括:1))1、指针操作和内存、资源泄露错误,比如:内存泄露;资源泄露;对指针变量的错误操作。22、内存操作方面的错误,比如: 内存读、写溢出; 使用未初始化的内存。33、API函数使 阅读全文
posted @ 2011-09-07 13:26 carekee 阅读(1195) 评论(0) 推荐(0)
摘要: 程序要求:请自备同大小同的图片两张,一张为原图srcImg,为三通道图片,另一张为mask图,为单通道图片。下面是Opencv官方手册的对cvCopy的说明:Copy拷贝一个数组给另一个数组 void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );src 输入数组。 dst 输出数组。 mask 操作掩码是8比特单通道的数组,它指定了输出数组中被改变的元素。 函数cvCopy从输入数组中复制选定的成分到输出数组: 如果mask(I)!=0,则dst(I)=src(I)。 如果输入输出数组中的一个是IplImage类 阅读全文
posted @ 2011-09-07 11:10 carekee 阅读(756) 评论(0) 推荐(0)