ubuntu下多版本opencv安装及在QT下配置

前言

本文旨在在ubuntu18.04下安装opencv3.4.1及opencv4.3.0两个版本,进行多版本配置切换,卸载,给出简单的make构造的demo验证安装及qt下对opencv的引入示例。

OpenCV安装

1. OpenCV源码下载
2. 安装命令
cd opencv-3.4.1; 
mkdir -p build/installed; cd build;
cmake -D CMAKE_BUILD_TYPE=RELEASE \
	  -D CMAKE_INSTALL_PREFIX=/home/city945/software/opencv-3.4.1/build/installed \
	  -D BUILD_TESTS=OFF \
	  -D OPENCV_GENERATE_PKGCONFIG=ON \
	  ..;
make -j8; 
sudo make install;
3. 参数解释
  -D CMAKE_INSTALL_PREFIX 指定sudo make install 的安装目录,默认在/usr/local下,如果不改,安装多个版本时,后一版本会覆盖前面版本
  -D BUILD_TESTS=OFF 加快编译速度 详细了解 -> https://docs.opencv.org/4.3.0/d7/d9f/tutorial_linux_install.html
  -D OPENCV_GENERATE_PKGCONFIG=ON 针对opencv4,使其支持pkg-config
4. 验证安装
  • 查询opencv版本
pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs opencv
# 注意对opencv4 是 pkg-config --modversion opencv4,可cd /home/city945/software/opencv4.3.0/build/installed/lib/pkgconfig/ 查看
多版本配置及切换
  • .bashrc中控制
# 多版本opencv
# export PKG_CONFIG_PATH="/home/city945/software/opencv-3.4.1/build/installed/lib/pkgconfig"
# export LD_LIBRARY_PATH="/home/city945/software/opencv-3.4.1/build/installed/lib"
export PKG_CONFIG_PATH="/home/city945/software/opencv-4.3.0/build/installed/lib/pkgconfig"
export LD_LIBRARY_PATH="/home/city945/software/opencv-4.3.0/build/installed/lib"
  • 卸载
cd build;
sudo make uninstall;
cd ..; rm -rf build;
# 安装在/usr/local下的手动再把/usr/local/lib下的软连接删了
QT中引入opencv
  • .pro
INCLUDEPATH += /home/city945/software/opencv-3.4.1/build/installed/include \
    /home/city945/software/opencv-3.4.1/build/installed/include/opencv \
    /home/city945/software/opencv-3.4.1/build/installed/include/opencv2

LIBS += /home/city945/software/opencv-3.4.1/build/installed/lib/libopencv*.so
参考

opencv-doc
Ubuntu下多版本OpenCV共存和切换


2020-07-05
  • error while loading shared libraries: libopencv_core.so.3.4: cannot open shared object file: No such file or directory
sudo vim /etc/ld.so.conf.d/opencv.conf
# 文件中添加install/lib
/home/city945/software/opencv-3.4.1/build/installed/lib
sudo ldconfig
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章