首頁 > 軟體

Ubuntu 下快速設定 Eclipse CDT + OpenCV2.3.1 環境

2020-06-16 17:38:45

最近要利用OpenCV做開發,並且要在Linux環境下。想想自己一直用的Ubuntu是一個很不錯的linux平台,安裝快捷,解決問題方便(有社群)。而Eclipse又因為其強大的跨平台及開源特性,以及多程式語言環境的支援,所以Ubuntu+Eclipse 成為了多種組合裡的首選。教學首先從Eclipse的安裝開始:

  一. Eclipse + CDT 的搭建

  快捷鍵Ctrl + alt + T 召喚出終端 執行

sudo apt-get install eclipse 

  自動下載安裝eclipse 整合式開發環境(包括JDK),不過預設只有java的環境,因為OpenCV都是基於C/C++語言的,所以我們還要安裝CDT。開啟Eclipse -> Help -> Install New Software, 在Work with 的右邊輸入

cdt - http://download.eclipse.org/tools/cdt/releases/indigo

(其中最左邊的cdt是自己取的名字,可以隨意改,但是後面那個URL一定要正確) 截止今天,從源中得到的eclipse是indigo版,所以我們CDT也要選擇indigo版的,輸入後稍等片刻pengding中.....解析完畢得到下圖,勾選CDT Main Features 就夠了,然後一路點選Next.直至finish.

不一會功夫就自動安裝好了,至此我們的eclipse裡整合了C/C++的開發環境,即 Eclipse + CDT 環境。

二. G++ 及 OpenCV的安裝

  G++的安裝同樣很簡單,快捷鍵Ctrl + alt + T 召喚出終端 執行

sudo apt-get install g++

  OpenCV庫的安裝參考http://www.opencv.org.cn/index.php/Debian%E4%B8%8B%E5%AE%89%E8%A3%85中的方法,偵錯後發現只要這一句就夠了

apt-get install libcv-dev libcvaux-dev libhighgui-dev

  此時標頭檔案已經安裝在/usr/include/opencv 和 /usr/include/opencv2 (為什麼要提這些呢?因為後面要用到!)

三. Eclipse CDT 和 OpenCV 雙劍合璧

  這一部分參考 http://docs.opencv.org/doc/tutorials/introduction/linux_eclipse/linux_eclipse.html 因為是英文版的,把它本土化,方便大家。

  1.同樣快捷鍵Ctrl + alt + T 召喚出終端 執行 eclipse,召喚出擁有CDT的eclipse.

  2. 依次開啟 File -> New -> C/C++ Project(若沒有,從project裡找到 c/c++) 如下圖
  

     

  3.此時可以選擇一個"Hello World"的工程,順便取一個名字, 如我的"myfistopencv",點選finish.

  4.將cpp中的程式碼替換為如下程式程式碼

 1 #include <string>
 2 #include <opencv2/opencv.hpp>
 3 
 4 using namespace cv;
 5 using namespace std;
 6 
 7 int main()
 8 {
 9     string imagename = "lena.jpg";
10 
11     //讀入影象
12     Mat img = imread(imagename);
13 
14     //如果讀入影象失敗
15     if(img.empty())
16     {
17         cout<<"read failed!";
18         return -1;
19     }
20     //建立視窗
21     namedWindow("image",1);
22 
23     //顯示影象
24     imshow("image", img);
25 
26     //等待按鍵,按鍵盤任意鍵返回
27     waitKey();
28 
29     return 0;
30 }

  5.這個時候會報很多錯,不要緊張,是因為eclipse還不知道include及library的位置,讓我們告訴它。

  首先指明 include:

  開啟 Project–>Properties。C/C++ Build, 點選 Settings. 選擇右側 Tool Settings 標籤(預設). 這裡我們可以看到includes和library的資訊

  在 GCC C++ Compiler, 點選 Includes. 在 Include paths(-l) 新增我們的opencv的標頭檔案所在地,即上文提到的 /usr/include/opencv 以及 /usr/include/opencv2 和/usr/include/opencv,如下圖

  

 

  再指明lib :

  lib是要自己找的,依舊快捷鍵Ctrl + alt + T 召喚出終端,這次輸入

pkg-config --libs opencv

  會列印出所有的libs,應該是下面這些

  opencv_core;opencv_imgproc;opencv_highgui;opencv_ml;opencv_video;opencv_features2d;opencv_calib3d;opencv_objdetect;opencv_contrib;opencv_legacy;opencv_flann

  你可以全部匯入,以免找不到。

  找到 GCC C++ Linker,在右側 First in Library search path (-L) 中加入這些庫,因為我已經加分號了,所以可以直接匯入,eclipse 會自動換行分開,不然就要一個一個手動輸入。

  

   OK,別忘了點apply!

  這時候可能有人會碰到Binary not found等問題,Hint: 首先要按 ctrl+b build,再執行!就沒有問題了!

  至此環境就搭起來了,試試執行sample, 如果你沒有lena.jpg的圖的話,應該提示read failed,說明你的環境已經搭建成功了!是不是很快?

  四.後記

   本文寫的有些匆忙,可能有些小疏漏,請大家及時指出以便我及時更正!

 

OpenCV官方教學中文版(For Python) PDF  http://www.linuxidc.com/Linux/2015-08/121400.htm

Ubuntu Linux下安裝OpenCV2.4.1所需包 http://www.linuxidc.com/Linux/2012-08/68184.htm

Ubuntu 12.04 安裝 OpenCV2.4.2 http://www.linuxidc.com/Linux/2012-09/70158.htm

CentOS下OpenCV無法讀取視訊檔 http://www.linuxidc.com/Linux/2011-07/39295.htm

Ubuntu 12.04下安裝OpenCV 2.4.5總結 http://www.linuxidc.com/Linux/2013-06/86704.htm

Ubuntu 10.04中安裝OpenCv2.1九步曲 http://www.linuxidc.com/Linux/2010-09/28678.htm

基於QT和OpenCV的臉部辨識系統 http://www.linuxidc.com/Linux/2011-11/47806.htm


IT145.com E-mail:sddin#qq.com