opencv codeblocks配置

opencv官網上的window下載包裏不含適合codeblocks的二進制文件,只有VS的,所以只有自己動手了。

VS與codeblocks的最大區別就在於用的默認編譯器不一樣,opencv官網上給的是用VC編的,codeblocks直接用會報缺少dll文件,一查都是VC的。所以要用mingw自己編譯一遍。

所以問題是用mingw編譯opencv源碼得到二進制文件。

cmake配置

這一過程要用到cmake。其界面如下:
cmake
點擊configure,選擇codeblocks-mingw makefiles,第一次會顯示四種選項,選第一種
這裏寫圖片描述
codeblocks必須安裝,而且必須安裝了編譯器。綠色版的cmake會找不到編譯器,因爲它是通過註冊表查找的。之前用綠色版的報如下錯誤:
Cmake was unable to find a build program corresponding to “MinGW Makefiles”, CMAKE_MAKE_PROGRAM” is not set, You probably need to select a different build tool.
Configure通過後會顯示:
這裏寫圖片描述
下面就要選擇配置cmake選項了。根據網絡經驗,mingw是不支持cuda的,所以和cuda相關的選項都要去掉,另外opencv3.0不支持ipp,所以也要去掉。所以
這裏寫圖片描述
再次點擊Configure,
這裏寫圖片描述
變白了表示通過,再點generate,
這裏寫圖片描述

codeblocks(mingw)編譯

下面輪到codeblocks上場了,打開cmake gui最開始設置的where to build the binaries,在gui的最上面,打開這個地址,找到OpenCV.cbp,就是這個
這裏寫圖片描述
這是個codeblocks的工程文件,就是把所有文件鏈接到一起的那東西,雙擊在codeblocks裏打開他,
這裏寫圖片描述
然後,戳一下這裏這裏寫圖片描述就好了。
接着就是漫長的等待了,酷睿雙核大概需要一個多小時。

編譯完後,看看這裏和這裏
這裏寫圖片描述
如果這兩個夾子下面有貨而且很多,那麼恭喜你成功了,
這裏寫圖片描述這裏寫圖片描述

工程配置

下面就是應用了,還是codeblocks,新建一個工程,工程名右鍵->build options
1)所要引用的庫有哪些(linker settings)
加入所有lib文件夾下的庫
這裏寫圖片描述
2)頭文件搜索路徑(search directories->complier)
這裏寫圖片描述
3)二進制文件(不僅僅是庫文件還有exe )的搜索路徑(search directories->linker)
這裏寫圖片描述

好,所有配置工作完成了,可以正式開始編碼了。
從網上找了一個例子,鏈接
需要注意的是,cvLoadImage ("E:/CodeLink/Init/bin/Debug/test.png", 1) 裏面的路徑需要用/而不是windows裏的\。

#include <cv.h>
#include <highgui.h>

using namespace std;

int main()
{
    IplImage* src = cvLoadImage ("E:/CodeLink/Init/bin/Debug/test.png", 1);
    IplImage* dst = cvCreateImage (cvGetSize(src), IPL_DEPTH_32F, 1);
    IplImage* canny = cvCreateImage (cvGetSize(src), IPL_DEPTH_8U, 1);

    cvCvtColor (src, canny, CV_RGB2GRAY);
    cvCanny (canny, canny, 100, 200, 3);
    cvDistTransform (canny, dst, 3, 3);

    cvNamedWindow ("src", 1);
    cvShowImage ("src", src);
    cvNamedWindow ("dist", 1);
    cvShowImage ("dist", canny);

    cvWaitKey (0);

    cvReleaseImage (&src);
    cvReleaseImage (&canny);
    cvReleaseImage (&dst);

    return 0;
}

編譯之前先看看頭文件是否能打開,各個函數是否都可以找到定義,如果都可以,那麼配置無錯,可以編譯了。
看看結果,左側是原圖,後側是處理後的:
這裏寫圖片描述

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