最近在做一个视频跟踪的项目,里面需要用cvLoadImage从一个文件夹中循环的读取图片。程序编译通过,但在运行的时候内存一直处于增长状态,最后直接报出内存溢出。查了一下发现是cvLoadImage的原因。具体代码如下:
for( string::size_type i = 0; i != img_path.size(); i++ )
{
path=".\\TrainData\\"+img_path[i];
src=cvLoadImage(path.c_str(),1);
if( src == NULL )
{
cout<<" can not load the image: "<<img_path[i].c_str()<<endl;
continue;
}
cout<<" processing "<<img_path[i].c_str()<<endl;
cvResize(src,trainImg); //读取图片
hog->compute(trainImg, descriptors,Size(1,1), Size(0,0)); //调用计算函数开始计算
cout<<"HOG dims: "<<descriptors.size()<<endl;
n=0;
for(vector<fl