在c ++中LeaveCriticalSection出现奇怪的错误

时间:2013-12-14 03:30:00

标签: c++ opencv memory memory-leaks

我尝试设置图像的矢量并使用SVM训练它,但是当我从2180个图像循环它的大约2000个图像时,程序中断和代码错误

void __cdecl _unlock ( int locknum)
{
        /*
         * leave the critical section.
         */
        LeaveCriticalSection( _locktable[locknum].lock );
}

我认为它可能是内存泄漏,所以我尝试在使用后释放所有Mat,但它仍然无效。

修改

现在我确定在我将这段代码循环约2084轮时出现错误

void calculate_hist(Mat block,Mat_<int> hist)
{  Mat channel[3];
   split(block,channel);
   Mat_<int> h = cvCreateMat(1,1,CV_32FC1);
   int h_value;
   Mat_<int> s = cvCreateMat(1,1,CV_32FC1);
   int s_value;
     .   
     .
     .
   h.release();
   s.release();
   channel[0].release();
   channel[1].release();
   channel[2].release();
}

有任何建议如何修复这些。

0 个答案:

没有答案