在Ubuntu裡安裝OpenCV2.4.1
原文連結:http://www.samontab.com/web/2012/06/installing-opencv-2-4-1-ubuntu-12-04-lts/
Ubuntu最近的長期支援版系統12.04釋出了,同樣,OpenCV的新版本也釋出了。這意味著,現在是一個很好的機會來更新我的安裝指南到最新版本,Ubuntu12.04和OpenCV2.4.1。
我們將在安裝中使用新的Qt highgui介面,這些介面比簡單的
好了,我們的第一步就是要更新和升級系統到最新版本:
sudo apt-get update
sudo apt-get upgrate
現在,您需要安裝很多依賴的軟體包,比如支援影象檔案讀寫的,在螢幕上繪製的,
sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev
現在是獲得OpenCV2.4.1原始碼:
cd ~
wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.4.1/OpenCV-2.4.1.tar.bz2
tar -xvf OpenCV-2.4.1.tar.bz2
cd OpenCV-2.4.1
現在我們必須用cmake生成Makefile。我們在這裡定義想要編譯的OpenCV的某些部分。由於我們要使用Python,TBB,OpenGL,Qt與視訊等,所以我們需要設定它們。我們只需要在終端執行下面的命令就可以生成合適的Makefile。注意,最後一行有兩點,它是cmake程式的引數即父目錄(因為我們在build目錄裡面,我們要涉及到OpenCV目錄-OpenCV是build的父目錄)。命令如下:
mkdir build
cd build
cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
檢查上述命令,看是否產生錯誤,尤其是確保FFMPEG報告為YES。否則,你將無法讀取或寫入視訊。此外,檢查確保Pthyon,TBB,OpenGL和Qt能夠檢測得到。
如果有任何的錯誤,回去,安裝額外的軟體包來糾正錯誤,然後再重新cmake。您應該看到類似這樣的:
現在準備編譯和安裝OpenCV2.4.1:
make
sudo make install
現在您必須配置OpenCV。首先,用下面的程式碼開啟opencv.conf檔案:
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
最後,關閉控制檯,開啟一個新的,重新啟動計算機,或者登出再登入。你這樣做了,OpenCV才會正確的工作。
現在您的計算機裡安裝的OpenCV有Python,TBB,OpenGL,視訊和Qt的支援了。
檢查Qt介面提供的很酷的影象檢視、縮放以及能夠儲存功能只需輕鬆一擊。
如果你放大到足夠大,你可以看到紅綠藍(或強度)的每個畫素值。
現在我們來建立一些包含在OpenCV裡面的例子:
cd ~/OpenCV-2.4.1/samples/c
chmod +x build_all.sh
./build_all.sh
現在我們可以執行這些例子:
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_eye.xml" --scale=1.5 lena.jpg