ubuntu18.04下解决Opencv3和Opencv4共存问题

1 查看opencv版本

pkg-config --modversion opencv

pkf-config会查找.pc文件(/usr/lib/pkgconfig, /usr/share/pkgconfig, /usr/local/lib/pkgconfig, /usr/local/share/pkgconfig)

locate opencv.pc

# Package Information for pkg-config

prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir_old=${prefix}/include/opencv
includedir_new=${prefix}/include

Name: OpenCV
Description: Open Source Computer Vision Library
Version: 3.2.0
Libs: -L${exec_prefix}/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
Libs.private: -L/usr/lib/x86_64-linux-gnu -lpng -lz -ltiff -ljasper -ljpeg -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype -lgthread-2.0 -ldc1394 -lavcodec -lavformat -lavutil -lswscale -ldl -lm -lpthread -lrt
Cflags: -I${includedir_old} -I${includedir_new}

2 Opencv4 + CUDA安装

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D OPENCV_ENABLE_NONFREE=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_OPENGL=ON -D CUDA_ARCH_BIN=7.5 -D CUDA_ARCH_PTX=7.5 -D WITH_CUBLAS=1 -D BUILD_OPENCV_python3=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules/ -D HAVE_opencv_python3=ON ..

3 Opencv3 + NO_CUDA安装

https://blog.csdn.net/u010003609/article/details/100086151先看下这个,有点bug

/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directoryz

cmake -D WITH_CUDA=OFF -DENABLE_PRECOMPILED_HEADERS=OFF ..

4 解决opencv3和opencv4共存的问题(orbslam2+航母项目)

参考解决方案:先安装opencv再安装opencv4 https://blog.csdn.net/m0_37993445/article/details/121227948

其他参考解决方案:https://blog.csdn.net/Ensurensure/article/details/127435046

安装opencv3后在opencv4.4.0文件夹build执行:其中注意的是CMAKE_INSTALL_PREFIX位置为安装opencv4库的位置,需要自己设置

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/yzl/opencv4 -D INSTALL_PYTHON_EXAMPLES=OFF -D INSTALL_C_EXAMPLES=OFF -D OPENCV_ENABLE_NONFREE=ON -D WITH_CUDA=ON -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D ENABLE_FAST_MATH=1 -D CUDA_FAST_MATH=1 -D WITH_OPENGL=ON -D CUDA_ARCH_BIN=7.5 -D CUDA_ARCH_PTX=7.5 -D WITH_CUBLAS=1 -D BUILD_OPENCV_python3=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.4.0/modules/ -D HAVE_opencv_python3=ON -D OPENCV_GENERATE_PKGCONFIG=ON ..

然后make;sudo make install

配置opencv变量

sudo gedit /etc/ld.so.conf.d/opencv.conf

添加CMAKE_INSTALL_PREFIX/lib

/home/yzl/opencv4/lib

然后执行

sudo ldconfig

然后编辑~/.zshrc(bashrc)

# opencv-4.4.0
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/home/yzl/opencv4/lib/pkgconfig
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./home/yzl/opencv4/lib

查看当前opencv3版本:pkg-config --modversion opencv

查看当前opencv4版本:pkg-config --modversion opencv4

查看头文件和库:

pkg-config --cflags opencv4

pkg-config --libs opencv4

5 安装后使用要点

在编写CMakeLists.txt中:

调用opencv3

FIND_PACKAGE(OpenCV REQUIRED)

调用opencv4

方法一:需要在上面指令上添加

set(CMAKE_PREFIX_PATH "/home/yzl/opencv4") 

方法二:实测

find_package(OpenCV 4 REQUIRED)

6 查看OpenCVConfig.cmake

locate OpenCVConfig.cmake

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值