Ubuntu下安裝與卸載opencv模塊


opencv安裝

因工程需要,想在python中調用opencv

import cv2

現在記錄一下如何在Linux系統(ubutun)下安裝該模塊:

參考了一篇博客:http://blog.csdn.net/tengxing007/article/details/54380732

在自己的電腦上安裝成功,現記錄一下安裝過程:

step1:

去opencv官網現在zip包:

https://opencv.org/opencv-3-3.html

下載后unzip解壓

step2:

cd到解壓后的目錄下,在該目錄下mkdir build目錄,然后cd build

step3:

安裝opencv需要依賴很多其他的模塊:

例如

sudo apt-get -y install  build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils...


根據自己之前已經安裝過的模塊,選擇沒有裝過的進行安裝。

step4:

#編譯

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

編譯的過程中可能會報一些模塊沒有找到,需要針對性的安裝。

注:紅色標記的路徑很重要,可以使得后續裝opencv的其他版本共存。

step5:

#安裝

make  -j4
sudo make install

注意事項:

1. 若系統已裝過cuda,不指定 -D WITH_CUDA=OFF ,opencv默認安裝帶GPU的opencv。

 2. 安裝opencv2.4.13遇到的坑:

編譯過程中報

[..]/modules/contrib/src/rgbdodometry.cpp:65:47: fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory

解決辦法:https://answers.opencv.org/question/7666/build-failure-244-unsupportedeigenmatrixfunctions/

rgbdodometry.cpp第65行

 

include <unsupported/Eigen/MatrixFunctions>

改成

 

include <eigen3/unsupported/Eigen/MatrixFunctions>

 

 

 

3. 解決OpenCV版本沖突問題:libopencv_core.so.3.4, needed by //usr/local/lib/libopencv_imgcodecs.so
 
編譯工程的時候報:
/usr/bin/ld: warning: libopencv_core.so.3.4, needed by //usr/local/lib/libopencv_imgcodecs.so, may conflict with libopencv_core.so.2.4

解決辦法:這顯然是兩個版本同時,鏈接時不知道找哪個.3.4是自己編譯的,2.4是系統自帶的,刪除:

sudo apt-get autoremove libopencv-dev

提醒:
以后千萬別按照別人的說明apt-get安裝libopencv-dev,一定要小心,特別是已近安裝了opencv,不然后面編譯代碼會各種鏈接不上。

4. 報錯:error: No rule to make target '/usr/lib/libOpenNI.so', needed by 'bin/euroc_rectify'。 停止。
解決方法:

這類問題的出現說明程序在編譯時,CMakeLists.txt 文件沒有找到OpenNI.so, 即 Pangolin庫未安裝或破損。

重新安裝pangolin庫即可。

遇到編譯工程時ld出現問題的總結:不要隨便opt-get install軟件,特別是自己電腦通過其他途徑已經安裝了的,不然會出現各種連接出錯!!!! 

5.
python2.7 import cv 報找不到模塊的問題
出現“No module named cv2”,原因就是python找不到cv2.so文件,我們進入路徑/usr/local/lib/python2.7中發現有兩個文件夾,
一個是dist-package,一個是site-package,python默認只在前者里搜索,而我們生成的cv2.so文件則在我們的安裝目錄"../../opencv3.3.0/build"中
(還記得這個目錄吧,就是我們安裝opencv過程中建的那個目錄),我們只需要簡單的將它移動到dist-package文件夾即可。
后續有更好的解決方法再更新

opencv卸載

找到當初安裝 opencv3.3.1 的 build 目錄,進入 build 目錄

cd /home/***/opencv/build sudo make uninstall cd .. sudo rm -r build 然后清理 /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 find . -name "*opencv*" | xargs sudo rm -rf cd /home/*** chmod a+x /home/***/opencv rm -r /home/***/opencv

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM