源码编译的目的:
通过下载的代码,编译出可以被调用的动态链接库( .so),在自己开发过程中,调用这些 .so,就能实现opencv的功能。
下载 opencv-contrib,如果需要用到实验性的功能
opencv-source下载后,进入文件夹,自建一个文件,用来通过cmake产生一些编译命令
cd opencv-source
mkdir build
cd build
通过cmake 这句命令,加入需要的参数(-D 开头)
cmake \
-D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \ #具体编译哪个位置
-D INSTALL_C_EXAMPLES=ON \ #是否编译c-example
-D INSTALL_PYTHON_EXAMPLES=ON \ #是否编译python-example
-D WITH_TBB=ON \ #是否让opencv支持[TBB](https://www.threadingbuildingblocks.org/)功能
-D WITH_V4L=ON \ #是否让opencv支持V4L(Video for Linux)
-D WITH_QT=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \ #opencv-contrib的相对路径(如果不想用,这行命令不用写)
-D BUILD_EXAMPLES=ON \
-D WITH_IPP=OFF \
..
上面命令运行后,会在build文件夹下面产生编译命令和临时文件,再运行如下命令
sudo make -j8 # -j8 表示通过cpu的8个核进行编译,根据自己电脑配置设置,也可以不写
编译好后,运行下面命令,把 编译好的.so 等文件 拷贝到已指定的路径
sudo make install