Ubuntu16.04+Opencv3.3的安裝教程


需要准備的基本材料(請先看完整個安裝過程再進行下面的操作):

一、到Opecv-Release的Github項目上下載最新的Opencv版本,注意---基於python2.7,可選用 OpenCV2.3/2.4 以及 OpenCV3.X,我們選取版本3.3:

下載地址:https://github.com/opencv/opencv/releases/tag/3.3.0

二、安裝GUN GCC編譯器,對於Ubuntu16.04版本的Linux操作系統這款編譯器是自帶的

三、安裝Cmake跨平台編譯工具(CMake 可以編譯源代碼、制作程序庫、產生適配器(wrapper)、還可以用任意的順序建構執行檔)安裝的方法:sudo apt-get install cmake

我已經安裝好了,就提示無需更新,無需安裝

四、安裝python2.7,在ubuntu中一般來說是自帶python2.7的,如果沒有安裝,請參看博客中其他的教程

五、安裝numpy,在安裝好python之后建議您安裝pip,安裝完pip之后就可以使用pip來安裝各種各樣的庫了,pip install numpy

我已經安裝好了,就提示無需更新,無需安裝

六、安裝pkg-config指令(注意,這里的安裝很重要,例如libgtk2.0-dev軟件包涉及到了opencv中的imshow等窗口調用能否使用的問題):

sudo apt-get install pkg-config libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

開始安裝Opencv For Python:

1、找到下載的Opencv3.3的目錄:

2、執行下面的指令(在執行指令的過程之前,我們可以切換到su超級權限下進行操作,也可以不切換到su權限下,切換到那個用戶,以后就只能在那個用戶下調用對應的cv2的圖像處理庫):

tar -xzvf opencv-3.3.0.tar.gz
cd opencv-3.3.0/
cd ..
mkdir my_build_dir
cd my_build_dir
cmake ../opencv-3.3.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local
make    # make -j4表示開4個線程來進行編譯
make install

解壓之后的opencv-3.3.0的目錄:

Cmake的過程和結果如下:

建立的my_build_dir經過 cmake ../opencv-3.3.0 -DWITH_GTK_2_X=ON -DCMAKE_INSTALL_PREFIX=/usr/local之后的結果

在my_build_dir中執行make和make install即可 

編寫代碼:

運行結果:

安裝過程之中碰到的問題:

"FATAL: In-source builds are not allowed.
You should create separate directory for build files."

意思就是說不要在源代碼內部直接編譯程序,以免污染源代碼,所以在opencv-2.4.13目錄之外建立文件夾my_build_dir,然后在這個目錄里面執行cmake。

詳細問題參照下面的鏈接:

https://stackoverflow.com/questions/45518317/in-source-builds-are-not-allowed-in-cmake

Ubuntu下卸載重裝Opencv的教程參考:

http://www.cnblogs.com/txg198955/p/5990295.html

注:安裝之后可能遇到的問題

Question-1:

簡單的意思就是調用了window相關的程序,但是沒有安裝GTK相關的包,函數function不能實現,需要安裝libgtk2.0-dev 和 pkg-config。

如果沒有使用到opencv的顯示接口的話,基本的opencv的函數是能夠使用的,在通過numpy的相關的數學運算包轉化一下數據格式就可以使用matlibplot等包顯示輸出圖像了。

如果想解決上述的問題,就一定記得安裝libgtk2.0-dev和pkg-config之后在cmake ---》make ---》 make install.Opencv就行了。

Question-2:

我們發現在安裝libgtk2.0-dev的軟件包的時候,很難安裝成功,全是提示說安裝包和其他的依賴的安裝包存在版本不兼容的問題,如下圖所示:

# apt-get install libgtk2.0-dev
Reading package lists... Done
Building dependency tree      
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
 
The following packages have unmet dependencies:
  libgtk2.0-dev: Depends: libgtk2.0-0 (= 2.20.0-0ubuntu4) but 2.20.1-0ubuntu2.1 is to be installed
                 Depends: libglib2.0-dev (>= 2.21.3) but it is not going to be installed
                 Depends: libpango1.0-dev (>= 1.20) but it is not going to be installed
                 Depends: libatk1.0-dev (>= 1.13.0) but it is not going to be installed
                 Depends: libcairo2-dev (>= 1.6.4-6.1) but it is not going to be installed
                 Depends: libx11-dev (>= 2:1.0.0-6) but it is not going to be installed
                 Depends: libxext-dev (>= 1:1.0.1-2) but it is not going to be installed
                 Depends: libxinerama-dev (>= 1:1.0.1-4.1) but it is not going to be installed
                 Depends: libxi-dev (>= 1:1.0.1-4) but it is not going to be installed
                 Depends: libxrandr-dev (>= 1:1.2.99) but it is not going to be installed
                 Depends: libxcursor-dev but it is not going to be installed
                 Depends: libxfixes-dev (>= 1:3.0.0-3) but it is not going to be installed
                 Depends: libxcomposite-dev (>= 1:0.2.0-3) but it is not going to be installed
                 Depends: libxdamage-dev (>= 1:1.0.1-3) but it is not going to be installed
E: Broken packages

將較新的庫降級為滿足依賴關系的庫,按照提示逐步操作即可。

這里我們就需要使用如下的指令來完成安裝:

sudo aptitude install libgtk2.0-dev

運行后會出現一大堆消息,給出第一個解決方案一般是保留這些庫文件,讓選擇y/n/q?,這里選擇“n”;然后會繼續找解決方案,有時會超時找不到,點擊y繼續找,直到給出得解決方案是“降級”這些庫文件,選擇“y”,然后等待結束就完了。

這里我們看到提示:Setting up libgtk2.0-dev(2.24.25-3+deb8u2) ...

完成后可以再輸入“sudo apt-get install libgtk2.0-dev”進行測試,出現已經安裝對應得庫文件,說明安裝成功了。(此方法同樣適用於安裝opencv時其他不能正常安裝的預備庫文件)

    Finished!


免責聲明!

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



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