opencv+opencv_contrib编译

opencv+opencv_contrib编译

    • opencv下载地址
    • opencv_contrib下载地址
    • opencv+opencv_contrib编译方法
    • opencv+opencv_contrib GPU 版本编译方法
    • 作为第三方包被c++工程调用

opencv下载地址

opencv下载

opencv_contrib下载地址

opencv_contrib下载

opencv+opencv_contrib编译方法

cd ~/opencv   #进入opencv 源码下,不是opencv_contrib
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=<install path> -D OPENCV_GENERATE_PKGCONFIG=YES -D OPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -D BUILD_opencv_xfeatures2d=OFF -D BUILD_opencv_freetype=ON ..  #源码路径, opencv_xfeatures2d=OFF 包不进行编译,可以进行选择设置不需要编译的包; opencv_freetype=ON表示默认不编辑的包,开启编译;install path 表示编译完后进行安装的路径,OPENCV_GENERATE_PKGCONFIG=YES 仅在opencv4.0以上使用
make -j5
sudo make install #进行安装,安装后,将里面的所有内容作为第三方包

opencv+opencv_contrib GPU 版本编译方法

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/raid/ZXF/use_software/opencv-gpu/opencv-3.4.10/install -D OPENCV_EXTRA_MODULES_PATH=/raid/ZXF/use_software/opencv-gpu/opencv_contrib-3.4.10/modules -D CUDA_ARCH_BIN=7.0 -D WITH_CUDA=ON -D WITH_TBB=ON -D  WITH_V4L=OFF -D  WITH_LIBV4L=ON  -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_CUBLAS=1 -D WITH_QT=OFF -D WITH_NVCUVID=OFF -D ENABLE_PRECOMPILED_HEADERS=OFF -D BUILD_opencv_xfeatures2d=OFF ..

make -j8
sudo make install

作为第三方包被c++工程调用

第一种方法:
opencv作为3rdParty中的一个第三方包opencv调用,其包含两个文件“include” “lib”
假设编译的 opencv-4.5.1+opencv-4.5.1-contrib (注意两个版本号必须一致)
第三方包名假设命名为: opencv-4.5.1
其目录格式如下:

├── 3rdParty
	├──-----opencv-4.5.1
    		├──-----include
    				├──-----opencv  #4.5版本不再使用,3.4.10版本含有;好像是4.0以上都没了
    				├──-----opencv2
    		├──-----lib
#其中lib文件夹来自于“ ~/opencv-4.5.1/build/lib”
#include文件内容来自与 “~/opencv-4.5.1/include” ,之后再将文件夹" ~/opencv-4.5.1/modules"和“ ~/opencv_contrib-4.5.1/modules”中的每一个模块下的opencv2中的内容复制到opencv2中,例如“~/opencv_contrib-4.5.1/modules/alphamat/include/opencv2/*”可以使用如下脚本复制所有的头文件到“include/opencv2中”
cd /raid/ZXF/use_software/opencv-4.5.1/modules #进入opencv源码下的modules文件加下
cp -rf ./*/include/opencv2/* /raid/ZXF/project/3rdParty/opencv-4.5.1-contrib/include/opencv2
cd /raid/ZXF/use_software/opencv_contrib-4.5.1/modules  #进入opencv-contrib源码下的modules文件加下
cp -rf ./*/include/opencv2/* /raid/ZXF/project/3rdParty/opencv-4.5.1-contrib/include/opencv2

第二种方法:
取安装install路径下的 include 和 lib 文件 作为第三方包

你可能感兴趣的:(人工智能,C++学习,opencv)