將OpenCV完美建置於Visual Studio上


OpenCV是由Intel公司開發的影像處理跨平台程式庫,可以讓開發者十分便利的進行影像相關的程式開發,但是許多人並不知道該如何將OpenCV的程式庫Import進開發工具當中,所以在這裡做一個簡單的教學。

作業系統:Windows 10

開發工具:Visual Studio 2015

OpenCV版本:3.0.0   (安裝位置為C:\opencv)


1. 首先需要修改環境變數

本機 → 內容 → 進階系統設定 → 環境變數 → path → 編輯

新增以下兩項資料:

C:\opencv\build\x64\vc12\bin; C:\opencv\build\x86\vc12\bin;

2. 開啟 Visual Studio 2015 並且新增專案

新增專案 → 左側「Visual C++」 → Win32 主控台應用程式→ 輸入專案名稱 → 確定 → 下一步 → 僅勾取「空專案」就好 → 完成

3. 點選上方的「專案」→「屬性」→ 調整「平台」為“x64”

4. 對「VC++目錄」與「連結器」進行調整

設定VC++目錄 →在「Include目錄」增加“C:\opencv\build\include”

設定VC++目錄 →在「程式庫目錄」增加“C:\opencv\build\x64\vc12\lib”

設定連結器 →「輸入」 →在「其他相依性」增加

“opencv_ts300d.lib”以及“opencv_world300d.lib”

5. 調整專案平台為「x64」

6. 新增 Visual C++檔於專案

「專案」 →「加入新項目」 →「C++檔(.cpp)」 →「新增」

7. 測試是否連結成功

撰寫一開啟圖檔的程式碼來測試是否連結成功

 

#include <iostream>

#include <opencv2/core/core.hpp>

#include <opencv2/highgui/highgui.hpp>

 

using namespace std;

using namespace cv;

 

int main(int argc, char** argv)

{

argv[1] = "C:\\lena.jpg";

Mat image;

 

 

image = imread(argv[1], CV_LOAD_IMAGE_COLOR);

 

if (!image.data)

{

cout << "NoNoNo" << std::endl;

return -1;

}

 

namedWindow("Display", CV_WINDOW_NORMAL);

 

imshow("Display", image);

 

waitKey(0);

return 0;

}

 

撰寫人:第十屆 MSP 技術組 卓志軒

Comments (4)

  1. 顏碩亨 說:

    筆電是x64位元, opencv3.0 visual studio 2015, 我把專案平台設定為x64, 執行後會跳出error(應用程式無法啟動(0xc000007b)) 或者是 程式無法啟動,缺少MSVCP120D.DLL, 最後我專案平台設定為x86 才能順利執行, 不明白為何會這樣?

    1. 哈囉!
      若 x86 可行但 x64 無法的話
      可是 Library 選擇錯誤所導致

      可能要先請你確定環境變數(文章中第一步)的地方是否已經將兩筆資料都填上
      如有變更請記得一定要重新開機!
      另外也要請你確定一下 lib 的部分是否為 x64
      也可以試試看將專案 clean 之後再重新建置

  2. Peter 說:

    Error LNK1112 module machine type ‘X86’ conflicts with target machine type ‘x64’

    請問這樣的錯誤要如何解決呢?

    1. 哈囉,
      請你先按照這個路徑 “Linker”->“Advanced”->“Target Machine” 確認 Target Machine 為 x64
      另外也要確認該 project 的 include 的 lib 也是 64 位元

Skip to main content