第一步:
官网下载:
OpenCV4.1.1: https://github.com/opencv/opencv/releases/tag/4.1.1
OpenCV_contrib 4.1: https://github.com/opencv/opencv_contrib/releases/tag/4.1.1
第二步:(电脑存在多个版本的opencv:https://blog.csdn.net/jinx09/article/details/107758558)
cd opencv-4.1.1
mkdir build
cd build
mkdir installed
第三步:
cmake过程中,存在多个文件无法下载的情况,提前下载到本地,然后修改下载路径。
参考链接:https://blog.csdn.net/weixin_38621214/article/details/93723272
除了上述链接中的IPPICV:Download:ippicv_2019_lnx_intel64_general_20180723.tgz和face_landmark_model.dat,还有ADE:v0.1.1d.zip
(打开opencv-4.1.1/modules/gapi/cmake/DownloadADE.cmake文件,按照文件第15行指定的网址下载ade-0.1.1f.zip文件)
git clone https://github.com/opencv/ade
将ade文件夹下的所有内容压缩,并将压缩文件命名为v0.1.1d.zip
打开opencv-4.1.1/modules/gapi/cmake/DownloadADE.cmake文件,修改第15行:
由
"https://github.com/opencv/ade/archive/"
改为
"file:~/Program/"
第四步:
cmake -D CMAKE_BUILD_TYPE=Release
-D CMAKE_INSTALL_PREFIX=~/Program/opencv-4.1.1/build/installed
-D OPENCV_EXTRA_MODULES_PATH=~/Program/opencv-4.1.1/opencv_contrib/modules
-D BUILD_EXAMPLES=ON
-D OPENCV_GENERATE_PKGCONFIG=ON
-D BUILD_DOCS=ON ..
多版本OpenCV共存
假设我们已经安装好一版OpenCV,一般都安装在/usr/local下。
如果需要安装另一个版本的OpenCV,就不能再安装到/usr/local,而是选择其他路径,否则会覆盖掉之前的版本。
所以~/Program/opencv-4.1.1/build/installed 为安装OpenCV4.1.1的路径。
第五步:
make -j4
sudo make install
第六步:
版本设置
如果安装了多个版本的Opencv,在安装完之后,需要在安装包(就是最开始解压之后那个)里的CMakelists.txt文件里加一行
//没有位置要求
set(OpenCV_DIR "opencv-4.1.1/build/installed")
每次切换时,都要走以下步骤。
配置opencv.conf文件
cd opencv-4.1.1/build
sudo chmod 777 installed -R
sudo gedit /etc/ld.so.conf.d/opencv.conf
在文件中添加:
opencv-4.1.1/build/installed/lib
sudo ldconfig
配置环境变量
sudo gedit /etc/bash.bashrc
//在末尾添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:opencv-4.1.1/build/installed/lib/pkgconfig
export PKG_CONFIG_PATH
source /etc/bash.bashrc
pkg-config opencv --modersion
注意:
自己多次尝试配置opencv.conf和环境变量,没有切换成功。后来手动在opencv-4.1.1/build/installed/lib下创建pkgconfig文件夹,然后把之前安装opencv时生成的opencv.pc拷贝到pkgconfig下,修改opencv.pc内的内容,最后重新配置opencv.conf和环境变量。最终切换成功。