使用OpenCV與Eclipse(插件CDT)

2018-08-25 18:23 更新

先決條件

兩種方式,一種通過(guò)直接形成一個(gè)項(xiàng)目,另一種是由CMake先決條件組成

1、在您的工作站中安裝了Eclipse(僅需要用于C / C ++的CDT插件)。您可以按照以下步驟操作:

  • 轉(zhuǎn)到Eclipse網(wǎng)站
  • 下載用于C / C ++開發(fā)人員的Eclipse IDE。根據(jù)您的工作站選擇鏈接。

2、安裝了OpenCV。如果還沒(méi)有,請(qǐng)到這里

做一個(gè)項(xiàng)目

1、啟動(dòng)Eclipse 只需運(yùn)行文件夾中的可執(zhí)行文件即可。

2、轉(zhuǎn)到文件 - >新建 - > C / C ++項(xiàng)目

OpenCV教程

3、為您的項(xiàng)目選擇一個(gè)名稱(即DisplayImage)。這個(gè)例子應(yīng)該是一個(gè)空的項(xiàng)目

使用OpenCV與Eclipse

4、默認(rèn)保留所有其他內(nèi)容。按完成。

5、您的項(xiàng)目(在本例中為DisplayImage)應(yīng)顯示在Project Navigator中(通常位于窗口的左側(cè))。

使用OpenCV與Eclipse

6、現(xiàn)在,我們使用OpenCV添加一個(gè)源文件:

  • 右鍵單擊DisplayImage(在導(dǎo)航器中)。新建 - >文件夾。

opencv新建文件夾

  • 命名您的文件夾src,然后點(diǎn)擊完成
  • 右鍵單擊新創(chuàng)建的src文件夾。選擇新的源文件:
  • 說(shuō)它DisplayImage.cpp。點(diǎn)擊完成

使用OpenCV與Eclipse

7、所以,現(xiàn)在你有一個(gè)空的.cpp文件的項(xiàng)目。我們來(lái)填寫一些示例代碼(換句話說(shuō),復(fù)制并粘貼下面的代碼段):

#include <opencv2/opencv.hpp>
using namespace cv;
int main( int argc, char** argv )
{
  Mat image;
  image = imread( argv[1], 1 );
  if( argc != 2 || !image.data )
    {
      printf( "No image data \n" );
      return -1;
    }
  namedWindow( "Display Image", WINDOW_AUTOSIZE );
  imshow( "Display Image", image );
  waitKey(0);
  return 0;
}

8、我們只是錯(cuò)過(guò)了一個(gè)最后一步:告訴OpenCV OpenCV標(biāo)題和庫(kù)的位置。為此,請(qǐng)執(zhí)行以下操作:

  • 轉(zhuǎn)到項(xiàng)目 - >屬性
  • 在C / C ++構(gòu)建中,單擊設(shè)置。在右側(cè),選擇“ 工具設(shè)置”選項(xiàng)卡。這里我們將輸入標(biāo)題和庫(kù)信息:

     a、在GCC C ++編譯器中,轉(zhuǎn)到Includes。在包含路徑(-l)中,您應(yīng)該包括安裝opencv的文件夾的路徑。在我們的示例中,這是/ usr / local / include / opencv。

使用OpenCV與Eclipse

注意
如果您不知道Opencv文件的位置,請(qǐng)打開終端并鍵入:
pkg-config --cflags opencv

     例如,該命令給了我這個(gè)輸出:

-I / usr / local / include / opencv -I / usr / local / include

   b、現(xiàn)在去GCC C ++鏈接器,你必須填充兩個(gè)空格:

首先在庫(kù)搜索路徑(-L)中,你必須寫入opencv庫(kù)所在的路徑,在我的例子中路徑是:

/usr/local/lib

然后在庫(kù)(-l)中添加您可能需要的OpenCV庫(kù)。通常只是下面列表中的第一個(gè)第一個(gè)就夠了(簡(jiǎn)單的應(yīng)用)。在我的情況下,我打算把所有這些都放在一起:

opencv_core opencv_imgproc opencv_imgcodecs opencv_highgui opencv_ml opencv_videoio opencv_video opencv_features2d opencv_calib3d opencv_objdetect opencv_flann

使用OpenCV與Eclipse

如果你不知道你的圖書館在哪里(或者你只是精神病,想確保路徑正常),請(qǐng)輸入終端

pkg-config --libs opencv

我的輸出(如果你想檢查)是:

-L / usr / local / lib -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_videoio -lopencv_imgcodecs -lopencv_flann

現(xiàn)在你已經(jīng)完成了 單擊確定

  • 您的項(xiàng)目應(yīng)該準(zhǔn)備好建成。為此,請(qǐng)轉(zhuǎn)到Project-> Build all

在控制臺(tái)你應(yīng)該得到類似的東西

使用OpenCV與Eclipse

如果你登錄你的文件夾,應(yīng)該有一個(gè)可執(zhí)行文件。

運(yùn)行可執(zhí)行文件

所以現(xiàn)在我們有一個(gè)可執(zhí)行的程序可以運(yùn)行了。如果我們使用終端,我們可能會(huì)做一些像:

cd <DisplayImage_directory>
cd src
./DisplayImage ../images/HappyLittleFish.png

假設(shè)用作參數(shù)的圖像將位于<DisplayImage_directory> /images/HappyLittleFish.png中。我們?nèi)匀豢梢赃@樣做,但是讓我們從Eclipse中做:

  1. 轉(zhuǎn)到運(yùn)行 - >運(yùn)行配置
  2. 在C / C ++應(yīng)用程序下,您將看到可執(zhí)行程序的名稱+ Debug(如果沒(méi)有,請(qǐng)點(diǎn)擊C / C ++應(yīng)用程序幾次)。選擇名稱(在這種情況下為DisplayImage Debug)。
  3. 現(xiàn)在,在窗口的右側(cè),選擇“ Arguments”選項(xiàng)卡。編寫我們要打開的圖像文件的路徑(相對(duì)于工作區(qū)/ DisplayImage文件夾的路徑)。讓我們用HappyLittleFish.png:

使用OpenCV與Eclipse

   4. 單擊應(yīng)用按鈕,然后單擊運(yùn)行。OpenCV窗口應(yīng)該彈出魚圖像(或任何您使用的)。

使用OpenCV與Eclipse

    5. 恭喜!您已準(zhǔn)備好使用Eclipse來(lái)開放OpenCV。

V2:使用CMake + OpenCV與Eclipse(插件CDT)

假設(shè)你有或創(chuàng)建一個(gè)新文件helloworld.cpp在一個(gè)名為foo的目錄中:

#include <opencv2/opencv.hpp>
using namespace cv;
int main ( int argc, char **argv )
{
  Mat img(480, 640, CV_8U);
  putText(img, "Hello World!", Point( 200, 400 ), FONT_HERSHEY_SIMPLEX | FONT_ITALIC, 1.0, Scalar( 255, 255, 0 ));
  imshow("My Window", img);
  waitKey();
  return 0;
}

  1. 在foo:mkdir / build 下創(chuàng)建一個(gè)構(gòu)建目錄。然后cd構(gòu)建。
  2. 將CmakeLists.txt文件放入構(gòu)建中:
    PROJECT(helloworld_proj)
    FIND_PACKAGE(OpenCV REQUIRED)
    ADD_EXECUTABLE(helloworld helloworld.cxx)
    TARGET_LINK_LIBRARIES(helloworld \ f $ {OpenCV_LIBS})
  3. 執(zhí)行:cmake-gui ..并確保你填寫opencv的建立的地方。
  4. 然后單擊configure然后生成。如果沒(méi)關(guān)系,請(qǐng)退出cmake-gui
  5. 運(yùn)行make -j4(-j4是可選的,它只是告訴編譯器在4個(gè)線程中構(gòu)建)。確保它建立。
  6. 開始日食 將工作區(qū)放在某個(gè)目錄中,但不要放在foo或foo\build
  7. 右鍵單擊項(xiàng)目瀏覽器部分。選擇導(dǎo)入,然后打開C / C ++過(guò)濾器。選擇現(xiàn)有代碼作為Makefile項(xiàng)目。
  8. 命名你的項(xiàng)目,說(shuō)helloworld。瀏覽到現(xiàn)有的代碼位置foo\build(從那里運(yùn)行cmake-gui)。在*“索引器設(shè)置工具鏈”中選擇Linux GCC *,然后按完成。
  9. 右鍵單擊項(xiàng)目瀏覽器部分。選擇屬性。在C / C ++ Build下,設(shè)置構(gòu)建目錄:從這樣的東西${workspace_loc:/helloworld},${workspace_loc:/helloworld}/build因?yàn)槟阏跇?gòu)建的地方。      a、您還可以選擇修改Build命令:從make到類似的命令make VERBOSE=1 -j4,告訴編譯器生成用于調(diào)試的詳細(xì)符號(hào)文件,并編譯為4個(gè)并行線程。
  10. 完成!
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)