為了做畢設,我已經被這個東西折磨了很多天了,現在真的悟了,寫下人生的第一篇博客,希望能夠幫助大家,
說明:
1.本教程適用c++和python環境
2.opencv和opencv_contrib版本如果和我不一樣也可以裝裝看,畢竟方法都大同小異
版本:Ubuntu18.04
Opencv-4.1.2
Opencv_contrib-4.1.2
百度云鏈接:https://pan.baidu.com/s/14Q7N1p-7QrUBQzGIAPCWBw 密碼: spgp

裝opencv_contrib時會報錯需要用到第一個檔案,所以如果不需要裝opencv_contrib,只載opencv-4.1.2.zip即可,需要則全載,
一、卸載opencv (如果沒裝那直接跳過這一步)
1、查看已安裝的 opencv 版本
pkg-config --modversion opencv//或pkg-config --modversion opencv4

2、卸載
1.找到當初安裝 opencv4.1.2的 build 目錄,進入 build 目錄
cd ~/opencv-4.1.2/build
sudo make uninstall
cd ..
sudo rm -rf build
2.清理 /usr 中所有 opencv 相關項
//注意這里為了確保刪干凈重復寫了一些路徑,建議大家打開檔案夾對照代碼所示路徑一個個洗掉
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*
cd /usr
//發現搜不到有關opencv的任何檔案,說明刪干凈了
find . -name "*opencv*" | xargs sudo rm -rf
cd ~
sudo rm -rf opencv-4.1.2
二、安裝 opencv-4.1.2 + opencv_contrib-4.1.2
1.下載opencv-4.1.2及opencv_contrib-4.1.2 百度云鏈接已經放在文章開頭了
2.安裝依賴項
sudo apt install build-essential
sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
3.使用cmake構建opencv
使用unzip命令將opencv-4.1.2和opencv_contrib-4.1.2解壓,opencv-4.1.2放在主目錄下,opencv_contrib-4.1.2移到opencv_4.1.2目錄下,并在opencv-4.1.2目錄下新建build檔案夾
unzip opencv-4.1.2.zip
unzip opencv_contrib-4.1.2.zip
//自己把opencv-4.1.2放在主目錄下,opencv_contrib-4.1.2移到opencv_4.1.2中
cd ~/opencv-4.1.2
mkdir build

將boostdesc.i等.zip里的檔案全部復制到~/opencv-4.1.2/opencv_contrib-4.1.2/modules/xfeatures2d/src下(因為這些檔案很難載下來,缺少這一步的話,后續編譯就會報錯)

執行以下代碼(重點部分,認真操作)
cd ~/opencv-4.1.2/build
//前三行別的設不設定都無所謂,OPENCV_GENERATE_PKGCONFIG如果不設定在opencv4中就不會
//自動生成opencv.pc檔案導致查詢不到opencv版本號,后續要解決只能自己手寫檔案(但是容易錯)
//或者卸載opencv重裝,所以這里直接開啟就一勞永逸了
cmake -D WITH_TBB=ON -D WITH_EIGEN=ON -D OPENCV_GENERATE_PKGCONFIG=ON ..
cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=ON ..
cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF ..
//OPENCV_ENABLE_NONFREE:BOOL如果不開啟在使用sift/surf等演算法時會報錯
//因為我是用c++進行編程 所以用INSTALL_C_EXAMPLES=ON,如果想用python則替換為INSTALL_PYTHON_EXAMPLES=ON
//OPENCV_EXTRA_MODULES_PATH后面跟的是opencv_contrib-4.1.2的路徑,記得照著自己的電腦路徑改一下
//如果不需要裝opencv_contrib-4.1.2 那就刪掉OPENCV_EXTRA_MODULES_PATH
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_ENABLE_NONFREE:BOOL=ON -D INSTALL_C_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.1.2/opencv_contrib-4.1.2/modules ..
接下來開始編譯
//有單執行緒和多執行緒兩種編譯方法 單執行緒編譯比較慢,建議采用多執行緒
//j后面表示的數字是想要用幾執行緒進行編譯,這里我選擇了8執行緒
sudo make -j//單執行緒
sudo make -j8//多執行緒
編譯結束后
sudo make install
4.配置opencv環境
//打開opencv.conf
sudo gedit /etc/ld.so.conf.d/opencv.conf
//在末尾添加
/usr/local/lib
//保存后執行以下命令,確保配置生效
sudo ldconfig
//打開bash.bashrc
sudo gedit /etc/bash.bashrc
//在文末添加
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
//保存后執行以下命令,確保配置生效
sudo updatedb
5.測驗
cd ~/opencv-4.1.2/samples/cpp/example_cmake
cmake .
make
./opencv_example
如果攝像頭打開,左上角出現 Hello OpenCV 則證明安裝成功
如果還有問題,歡迎留言,第一次寫博客,如有不妥之處,還請多多擔待,
參考教程:
Ubuntu16.04卸載opencv 3.0.0,安裝opencv3.4.2 + contrib
在 Ubuntu系統下安裝 OpenCV 全程序
linux下編譯安裝opencv生成opencv.pc
解決 Configuring incomplete, errors occurred! 問題 樹莓派安裝opencv報錯
Ubuntu16下opencv3 +opencv_contrib3最簡單安裝,并解決SIFT 和 SURF在opencv3以上應用報錯
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/435441.html
標籤:AI
上一篇:使用 OpenCV 進行虛擬縮放
