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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章