Ubuntu14.04 內 安裝 OpenCV 2.4.9 + QT5


英文原文地址:http://marcelojo.org/marcelojoeng/2014/09/installing-opencv-2-4-9-qt5-in-ubuntu.html

如果不熟悉OpenCV和QT的朋友,請參考下列鏈接:

http://opencv.org/

http://qt-project.org/


安裝 QT:


1
2
3
4
5
mkdir qt5
cd qt5
wget http://download.qt-project.org/official_releases/online_installers/qt-opensource-linux-x64-1.6.0-4-online.run
chmod +x ./qt-opensource-linux-x64-1.6.0-4-online.run
sudo ./qt-opensource-linux-x64-1.6.0-4-online.run

注:ubuntu14.04自帶Qt5 及 QtCreator的安裝:sudo apt-get install qtcreator


編譯OpenCV

注:ubuntu14.04自帶OpenCV的安裝,可通過命令查詢:apt-cache search opencv

首先,需要安裝一些需要的包:

1
2
3
sudo apt-get install build-essential
sudo apt-get install  libgtk2.0-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

其次,下載OpenCV,保存到你選擇的目錄,如 opencv。 

1
2
3
4
5
6
7
8
cd opencv
unzip ./opencv-2.4.9.zip
cd opencv-2.4.9
mkdir build
cd build
cmake -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_GTK_2_X=ON ..
//懶人辦法,直接用cmake-gui 效果一樣。不會用的請留言。
make
sudo make install

默認情況下,庫文件會安裝在 /usr/local/lib。如果想看cmake的選項,參看文件 CMakeLists.txt。

爲了能夠鏈接到 lib,需要在目錄/etc/ld.so.conf.d/ 下創建一個文件 opencv.conf:

<pre name="code" class="cpp">touch opencv.conf
gvim opencv.conf //使用任何你熟悉的文本編輯器


在文件內寫入並保存:
1
/usr/local/lib

然後在此目錄下執行:

1
sudo ldconfig

 

測試 OpenCV

如果想測試的話,請進入 ./build/bin 並執行測試程序如:

1
2
cd ./bin
cd ./open_test_photo

 

QT5 + OpenCV 

首先打開 QTCreator,

1
/opt/Qt/Tools/QtCreator/bin/qtcreator

 

創建 Qt控制檯應用項目:

 


 

選擇Desktop平臺,直到嚮導結束。

 


 

現在需要告訴Qt 庫文件安裝在了哪裏。打開 .pro 文件並添加以下路徑:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
INCLUDEPATH += .
INCLUDEPATH += /usr/local/include
INCLUDEPATH += /usr/local/include/opencv
INCLUDEPATH += /usr/local/include/opencv2
INCLUDEPATH += /usr/local/include/opencv2/core
INCLUDEPATH += /usr/local/include/opencv2/highgui
INCLUDEPATH += /usr/local/include/opencv2/imgproc
INCLUDEPATH += /usr/local/include/opencv2/flann
INCLUDEPATH += /usr/local/include/opencv2/photo
INCLUDEPATH += /usr/local/include/opencv2/video
INCLUDEPATH += /usr/local/include/opencv2/features2d
INCLUDEPATH += /usr/local/include/opencv2/objdetect
INCLUDEPATH += /usr/local/include/opencv2/calib3d
INCLUDEPATH += /usr/local/include/opencv2/ml
INCLUDEPATH += /usr/local/include/opencv2/contrib
LIBS += `pkg-config opencv --cflags --libs`

測試程序:

在我們的例程“hello world”裏,顯示一幅圖像:當然是lena.jpg(注:OpenCV經典例圖)。你需要把要顯示的圖像(lena.jpg)放在程序相應的debug或release目錄裏。否則程序會找不到圖像而無法顯示。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <QCoreApplication>
#include <opencv2/highgui.hpp>
#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
    Mat image;
    image = imread("lena.jpg");   // Read the file
    if(!image.data)
    {
        cout << "nenhuma imagem!";
    }
    else
    {
        cout << "imagem carregada!";
    }
    cv::namedWindow("Teste imagem");
    cv::imshow("Teste imagem", image);
    cv::waitKey(0);
    return 0;
}

編譯並運行,便會看到下列圖像:

 


 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章