Skip to content

Commit 7202395

Browse files
committed
C-API cleanup: use AutoBuffer in MSER
1 parent 658336b commit 7202395

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

modules/features2d/src/mser.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -873,10 +873,13 @@ extractMSER_8uC3( const Mat& src,
873873
const MSER_Impl::Params& params )
874874
{
875875
bboxvec.clear();
876-
MSCRNode* map = (MSCRNode*)cvAlloc( src.cols*src.rows*sizeof(map[0]) );
876+
AutoBuffer<MSCRNode> mapBuf(src.cols*src.rows);
877+
MSCRNode* map = mapBuf.data();
877878
int Ne = src.cols*src.rows*2-src.cols-src.rows;
878-
MSCREdge* edge = (MSCREdge*)cvAlloc( Ne*sizeof(edge[0]) );
879-
TempMSCR* mscr = (TempMSCR*)cvAlloc( src.cols*src.rows*sizeof(mscr[0]) );
879+
AutoBuffer<MSCREdge> edgeBuf(Ne);
880+
MSCREdge* edge = edgeBuf.data();
881+
AutoBuffer<TempMSCR> mscrBuf(src.cols*src.rows);
882+
TempMSCR* mscr = mscrBuf.data();
880883
double emean = 0;
881884
Mat dx( src.rows, src.cols-1, CV_64FC1 );
882885
Mat dy( src.rows-1, src.cols, CV_64FC1 );
@@ -987,9 +990,6 @@ extractMSER_8uC3( const Mat& src,
987990
}
988991
bboxvec.push_back(Rect(xmin, ymin, xmax - xmin + 1, ymax - ymin + 1));
989992
}
990-
cvFree( &mscr );
991-
cvFree( &edge );
992-
cvFree( &map );
993993
}
994994

995995
void MSER_Impl::detectRegions( InputArray _src, vector<vector<Point> >& msers, vector<Rect>& bboxes )

0 commit comments

Comments
 (0)