opencv 之仿射变换相关函数重写

由于最近在嵌入式中用到了opencv 仿射变换相关函数,循环调用时出现内存泄漏问题

 cvWarpAffine( const CvArr* src, CvArr* dst, const CvMat* map_matrix,int flags CV_DEFAULT(CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS),CvScalar fillval CV_DEFAULT(cvScalarAll(0)) )

和 CVAPI(CvMat*) cvGetAffineTransform( const CvPoint2D32f * src,  const CvPoint2D32f * dst, 
                                    CvMat * map_matrix );

但是由于 opencv的很多API函数都存在内存泄漏问题,申请了空间没有释放,在程序中调用一两次可能不会有多大问题,但是在实际项目中如果循环调用这些函数的时候就会出现内存泄漏的问题了,所以有必要对相关opencv函数进行修改或者重写:

基本上有两种方法可以解决:

1、找到opencv相关函数的源码,把申请了内存但没释放的地方进行释放,但是在某些嵌入式平台上opencv是打包成库的形式,无法修改源代码。

2、找到对应函数源码,然后进行重写

这两个函数代码重写 代码不方便公开,有需要的可以私信我

 


                                    

你可能感兴趣的:(机器视觉,图像处理)