1. 程式人生 > >Ubuntu12.04利用CMake-2.8.10.4編譯OpenCV-2.4.4

Ubuntu12.04利用CMake-2.8.10.4編譯OpenCV-2.4.4

1、下載安裝CMake for Linux 
     下載地址:http://www.cmake.org/cmake/resources/software.html
     我下載的版本是cmake-2.8.10.2,下載檔案cmake-2.8.10.2.tar.gz

     建立安裝資料夾,路徑為/home/(你的登入使用者名稱)/cmake ,命令:sudo mkdir ~/cmake
     解壓cmake包,進入剛剛建立的資料夾,輸入sudo tar zxvf ./cmake-2.8.10.2.tar.gz
     
     編譯安裝,進入資料夾/home/(你的登入使用者名稱)/cmake/cmake-2.8.10.2
     命令:sudo ./bootstrap; sudo make; sudo make install

     開啟在使用者主目錄,用vim或者gedit開啟/etc/environment,命令為sudo gedit /etc/environment,新增環境變數——在enviroment中增加一行 PATH=$PATH:/home/(你的登入使用者名稱)/cmake/cmake-2.8.10.2/bin:

2、下載Opencv for linux

     首先下載opencv的原始檔包,下載地址:http://www.opencv.org.cn/download/OpenCV-2.4.4a.tar.bz2
     
     建立opencv安裝目錄/home/(你的登入使用者名稱)/OpenCV/,命令:sudo mkdir ~/OpenCV
     
     解壓檔案後將檔案放在/home/(你的登入使用者名稱)/OpenCV/
     
3、在編譯安裝opencv2.4.4之前還要安裝一些必要的庫

      安裝方式如下:sudo apt-get install build-essential libtiff4-dev libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev  cmake libswscale-dev libjasper-dev pkg-config,有些可能已經裝過了,但最好確認以上的都裝過了,況且ubuntu的apt-get用起來非常方便。
      上面的這些包是非常必要的,但是在安裝過程過程中可能會出現一些依賴錯誤:
      形如:依賴:****>(2.3.1),但是***不能安裝
      解決方法:sudo aptitude install (要安裝的檔案)
      然後選擇Y或者N,選擇Y是指按照提供的方法解決,選擇N是指不同意提供的方案,系統將重新提供新的方案!這是應自行選擇一個最為合適的方案來執行。
      
      還有一些問題,特別提示安裝GTK的包會依賴pango,而pango又會依賴cairo,在編譯pango時候可能會遇到一個問題,會提示Disabling cairo support。這是至關重要,這裡需要修改一下pango的configure檔案,可以利用gedit開啟configure檔案開啟,然後在Disabling cairo support前的if之前新增命令:have_cairo=true;這樣就可以了。
      這裡之說這一點,其他問題理應具體問題具體分析。
      
4、修改OpenCV2.4.4原始碼暫時無需修改
   
5、編譯安裝OpenCV2.4.4
     在OpenCV2.4.4資料夾內 執行cmake,命令:sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ~/OpenCV/opencv-2.4.4  
     此時如果不成功,多數的原因就是第3步驟中的庫沒有裝好。此時應該具體情況具體分析,注意閱讀編譯失敗的提示,逐一解決!
     這時makefile已經生成了,可以看到顯示預設安裝目錄是/usr/local
     
     然後繼續輸入sudo make
     完成後繼續輸入命令:sudo make install ,進行安裝。
     
     接下來要給系統加入opencv庫的環境變數(也就是庫存放的路徑,注意不是解壓路徑)
     
     用vim開啟/etc/ld.so.conf,注意要用sudo開啟獲得許可權,不然無法修改,如:sudo vim /etc/ld.so.conf,在檔案中加上一行 /usr/loacal/lib,/user/loacal就是makefile中指定的安裝路徑
     再執行sudo ldconfig,
     修改environment檔案,sudo gedit /etc/environment
     在檔案末尾加入:
     PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
     export PKG_CONFIG_PATH
     再開啟一個新的控制檯,然後重啟或者登出。
     編譯安裝完畢!^_^
6、初試OpenCV
     這裡嘗試編譯執行opencv提供的sample/c下的例子
     根據sample中的說明,建立一個example-release資料夾來存放編譯結果,命令 sudo mkdir ~/home/(你的登入使用者名稱)/Opencv/OpenCV-2.1.0/samples/c/sample-release
     然後進入剛剛建立的資料夾 cd ~/home/(你的登入使用者名稱)/Opencv/OpenCV-2.1.0/samples/c/sample-release
     使用cmake生成makefile檔案,命令如下 cmake ~cd ~/home/(你的登入使用者名稱)/Opencv/OpenCV-2.4.4/samples/c/example_cmake
     然後在sample-release下編譯,命令:make
     OK可執行檔案生成成功!
     最後看看效果,輸入:./opencv_example
     這是螢幕上理應輸出circle & rect 圖案。
7、  此時,便大功告成了!And,enjoy it!