opencv caffe 使用无内存泄漏的编译选项组合

项目里用caffe进行人脸检测。验证集为2000张图片时,存在内存泄漏。调用opencv的convertTo和subtract函数都会减少6200KB的内存。

经过多次安装验证,使用以下的编译选项组合可以避免内存泄漏。

 

在opencv安装包解压后的目录中,编辑脚本opencv_build.sh


#/bash/bin

cd build
rm * -fr

cmake -D CMAKE_BUILD_TYPE=Release \
        -D CMAKE_INSTALL_PREFIX=~/work/opencv346 \
        -D USE_O3=ON \
        -D ENABLE_CXX11=ON \
        -D BUILD_TIFF=OFF \
        -D WITH_TBB=OFF \
        -D WITH_IPP=OFF \
        -D WITH_OPENMP=ON \
        -D WITH_WEBP=OFF \
        -D ENABLE_FAST_MATH=1 \
        -D BUILD_EXAMPLES=OFF \
        -D BUILD_DOCS=OFF \
        -D BUILD_PERF_TESTS=OFF \
        -D BUILD_TESTS=OFF ..

make -j12
sudo make install

执行此脚本,即可快速安装opencv.

 

此外,还有个疑问:tensorRT代码中的opencv convert函数,用这一套编译选项还是会有内存泄漏,每次调用后,会减少6200KB内存。

 

你可能感兴趣的:(opencv)