Pages

2009年4月28日 星期二

OpenCV 初體驗

最近安裝了 OpenCV 來試試,本來是安裝 1.1pre1,但是程式執行都會發生應用程式初始化失敗之類的訊息,網路上也有不少人有這個問題,但解法似乎不是通用(重新編譯、複製 DLL 到 system32、安裝 VS2005 SP1...),所以改成安裝 1.0 版本。

我的安裝環境是 Vista,測試環境是 Visual Studio 2005,使用前需至「Tools->Options->Projects and Solutions VC++ Directories」作設定。
  • Include files
    C:\Program Files\OpenCV\otherlibs\cvcam\include
    C:\Program Files\OpenCV\otherlibs\highgui
    C:\Program Files\OpenCV\ml\include
    C:\Program Files\OpenCV\cxcore\include
    C:\Program Files\OpenCV\cvaux\include
    C:\Program Files\OpenCV\cv\include
  • Library files
    C:\Program Files\OpenCV\lib
最後就是測試程式,這裡會開啟一個 console application 專案,該程式會開啟一個PNG檔,並且在視窗上呈現。
  #include "stdafx.h"
  #include <cxcore.h>
  #include <highgui.h>

  int _tmain(int argc, _TCHAR* argv[])
  {
    IplImage *pImage = cvLoadImage("test.png", 1);
    if(!pImage)
      fprintf(stderr, "Can not open image file\n");

    cvNamedWindow("OpenCv Win", 1);
    cvShowImage("OpenCv Win", pImage);
    cvWaitKey();
    cvDestroyWindow("OpenCv Win");
    cvReleaseImage(&pImage);
    return 0;
  }

下載點
OpenCV 1.0
OpenCV 1.0rc1
OpenCV 中文網站

API 參考
OpenCV 1.0 API Reference

OpenCV 相關網誌、網站昨日
OpenCV 中文網站

3 則留言:

Eric 提到...

OpenCV 1.0 Wrapped Source Code
OpenCV 1.0 Wrapped Sample Cose
這是用C#寫的,記得先安裝 OpenCV 1.0,然後把 source code project 拿去編,就可以產生 .net dll,使用時記得四點:
1. 加入 dll reference。
2. 加入 using namespace openCV。
3. 以 cvlib::function 來使用,如 cvlib.CvLoadImage。
4. 並不是全部 OpenCV 都做包裝,但應該夠用。

Eric 提到...

OpenCV b3.1
這是更舊的版本,裡頭有蠻多範例,不過是用 MFC 寫的,object tracking 的部分就是參考這裡的範例。

Eric 提到...

OpenCV 2.0

從這個版本開始,須使用 CMake 來產生 Makefile 或 Visual Studio 專案檔,然後編譯出目標平台的函式庫與執行檔,可以參考以下網址:

井民全觀點 (Jing's Perspective): [程式設計] 最簡單的 CMake 使用說明 – how to use cmake
井民全觀點 (Jing's Perspective): [C++] 如何用 CMake 來編譯最簡單的 OpenCV 範例 – open image

 
Blogger Templates