ubuntu系统学习5——opencv不同版本兼容

由于不同项目下对opencv的版本要求不同,所以有时候会要求切换opencv版本。

参考:

https://blog.csdn.net/qq_29828623/article/details/73556713

https://blog.csdn.net/kekong0713/article/details/53688131

https://www.cnblogs.com/newneul/p/8364924.html

但是都各有问题,选择性参考。

 

contrib:

https://www.cnblogs.com/lvdongjie/p/11484575.html

 

原安装opencv3.4,现在需要安装2.4.10

 

1 先查看版本

pkg-config --modversion opencv

显示3.4

 

2 下载并安装

下载opencv对应版本release版本

mkdir build && cd build; 
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv/2.4.10 -D WITH_CUDA=OFF ..
make -j8
sudo make install -j8 

编译,注意给新版本建立新文件夹。

 

3 文件配置

sudo gedit ~/.bashrc

最下面输入

export PKG_CONFIG_PATH=/usr/local/opencv/2.4.10/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/opencv/2.4.10/lib 

保存

source ~/.bashrc

 

4  CMakeList文件配置

项目的CMakeList不一定能找到想要对应版本的opencv,具体还是要在CMakeList.txt中指定要找的opencv的目录,在/usr/local/opencv/2.4.10/share/OpenCV 下找到OpenCVConfig.cmake 文件,并在CMakeList.txt中添加对应的路径信息。

这样cmake的时候调用的就是2.4.10的库,想切换成原来的2.4.10版本只需将第二步的bashrc文件和CMakeList.txt文件中修改的内容改成对应的opencv2.4.10的位置就好了。

有的博客内容写的是下载安装编译地址的OpenCVConfig.cmake位置,没有尝试过对不对。

在项目的CMakeList中findpackage前set路径,注意不要加“”

set(CMAKE_PREFIX_PATH /usr/local/opencv/2.4.10/share/OpenCV)
find_package( PkgConfig )
find_package(OpenCV REQUIRED) # core imgproc highgui flann video calib3d nonfree objdetect)
if(Opencv_FOUND)
   message(STATUS "The Opecv lib is found!") 
endif()

 

以上。

你可能感兴趣的:(ubuntu系统学习5——opencv不同版本兼容)