Linux 下編譯安裝OpenCV

原文地址:http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.htmlphp

Cmake的安裝

OpenCV 2.2之後版本須要使用Cmake生成makefile文件,所以須要先安裝cmake。html

ubuntu下安裝cmake比較簡單,web

apt-get install cmakeubuntu

若是以爲自帶的版本不符合要求,能夠下載安裝包。bash

下載最新版的安裝包:網絡

http://www.cmake.org/cmake/resources/software.html測試

這裏下載已經編譯好的,這樣只須要解壓至須要的目錄下便可使用:網站

tar zxvf cmake-2.8.10.2-Linux-i386.tar.gz –C /usr/local/ui

設置環境變量:spa

sudo gedit /home/emouse/.bashrc

在打開的文件後添加:

export PATH=$PATH:/usr/local/cmake-2.8.10.2-Linux-i386/bin

查看版本,測試是否安裝成功:

root@emouse:/home# cmake --version    
cmake version 2.8.10.2

Ubuntu 下安裝 OpenCV

軟件環境:

Ubuntu 12.04

OpenCV 2.4.3

Cmake 2.8.10.1

gcc 4.6.3 (系統默認)

 

一、先安裝 libgtk2.0-dev 和 pkg-config,,不然後期編譯運行程序會出現相似以下的問題:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvNamedWindow, file /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line 100    
terminate called after throwing an instance of 'cv::Exception'

經過網絡獲取安裝:

# apt-get install libgtk2.0-dev# apt-get install pkg-config

 

二、下載OpenCV ,文件名:OpenCV-2.4.3.tar.bz2,下載地址:

http://www.opencv.org.cn/index.php/Download

解壓:

#tar jxvf OpenCV-2.4.3.tar.bz2

獲得文件夾 OpenCV-2.4.3

這裏新建一個文件夾OpenCV-x86做爲PC編譯目錄。

 

三、#cmake-gui 打開cmake的gui界面,開始進行配置。

cmake主要用於進行一些配置設定,從而生成用於編譯安裝的makefile文件,經過界面進行參數的配置和設定,很是直觀、方便。在配置中指定源碼和編譯目錄以及生成方式。

按照下圖的步驟進行配置:

image


點擊Finish後cmake即載入默認配置,以下圖所示:

image

如圖所示,窗口的中間部分即配置列表,這裏和使用cmake命令直接生成makefile文件一致的,如

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/home/OpenCV

只是這裏經過圖形界面的方式來進行配置,更加直觀方便。

這裏指對一個地方進行修改,CMAKE_BUILD_TYPE 值輸入RELEASE,其餘保持不變,圖中藍色虛線部分顯示了默認的安裝目錄,生成makefile文件最後執行 make install時就會安裝到這個目錄,這裏能夠根據我的需求更改。在這裏的配置中我勾選了WITH_QT 去掉了WITH_TIFF,其餘更多的配置也不清楚,OpenCV中文網站也沒找到系統的說明,這裏暫時不深究,點擊Generate生成配置文件。

進入OpenCV-x86目錄能夠查看Makefile文件,能夠留意文件的生成時間是否和剛纔的生成時間一致。

四、接下來在OpenCV-x86 分別執行make和make install便可完成編譯安裝。

五、安裝完成後須要對系統相關環境變量進行配置:

sudo gedit /etc/ld.so.conf.d/opencv.conf

將如下內容添加到最後:

/usr/local/lib

接下來配置庫:

sudo ldconfig

 

更改環境變量:

sudo gedit /etc/bash.bashrc

在文件後添加:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 
export PKG_CONFIG_PATH

保存退出,在運行下面的例程以前,須要從新開啓終端來使配置生效。

例程測試

拷貝步驟2中解壓的的/OpenCV-2.4.3/samples/c 將c文件夾拷貝出來,下面運行一下這裏面的一個例程,初步體驗下OpenCV。拷貝完成後進入這個文件夾:

chmod +x build_all.sh

./build_all.sh

這樣就對例程目錄下的源文件進行了編譯,這裏運行一我的臉檢測的程序,下面摘錄自本文參考資料3。

Some of the training data for object detection is stored in /usr/local/share/opencv/haarcascades. You need to tell OpenCV which training data to use. I will use one of the frontal face detectors available. Let’s find a face:

終端中運行:

./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg

 

獲得的結果以下圖:

imageimage  

到這裏基本的就寫完了,OpenCV我以前也沒有任何基礎,這裏只是把平臺配置起來跑通,後續的工做還有不少,歡迎各位參考。轉載請註明http://emouse.cnblogs.com/

本文相關及推薦參考:

【1】http://www.samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/

【2】http://blog.csdn.net/jasonque/article/details/8267983

【3】http://www.rosoo.net/a/201203/15774.html

★emouse 思·睿博客文章★ 原創文章轉載請註明:http://emouse.cnblogs.com

相關文章
相關標籤/搜索