實用圖像處理入門 - 2 - Windows平台下編譯openCV


 

1 環境准備

  1. Visual Studio 2012
  2. opencv 2.4+ ( 目前是2.4.6, 下載鏈接 ). ( 假設已安裝完畢, opencv安裝目錄以下用 {opencv} 表示 )
  3. CMake ( 下載鏈接, 用來編譯 opencv )

2 詳細步驟

安裝好 CMake 后, 在開始菜單里找到 CMake(cmake-gui) 打開.

如下設置:

位置1: 填寫 opencv 的安裝目錄. 

位置2: 填寫你希望 build opencv 后的目標位置. 下文中用 {cvBuild} 表示.

image

填寫好位置1和位置2后, 點擊 位置3( Configure 按鈕 ). 選擇 Visual Studio 11 ( 針對 VS2012, 如果是其它版本, 選擇對應的版本即可 ) 

image

點擊位置4( 按鈕 Generate ). 便可生成 opencv 項目.

完成后, 打開生成項目的目錄( 上上圖 位置2處 填寫的目錄 ). 雙擊 "OpenCV.sln”. 會啟動 VS2012, 你會看到以下界面.

image

點擊菜單欄 “BUILD –> Build Solution “ 開始構建整個解決方案.

構建過程可能需要比較長時間. 更可恨的是等這么長時間, 還得不到我們想要的結果: 會出現各種討厭的 ERROR!

image

14勝 47負! 簡直慘不忍睹. 查看輸出日志, 發現罪惡的源頭在這里:

?
1
9>D:\greenApps\opencvBuild2\3rdparty\zlib\zconf.h(449): fatal error C1083: Cannot open include file: 'unistd.h' : No such file or directory

google一下, 發現很多人都遇到這個問題. 解決方案 如下 ( 原文鏈接 ):

新建文件 unistd.h. 文件內容如下:

?
1
2
3
4
5
6
7
8
/** This file is part of the Mingw32 package.
* unistd.h maps (roughly) to io.h
*/
#ifndef _UNISTD_H
#define _UNISTD_H
#include <io.h>
#include <process.h>
#endif /* _UNISTD_H */

把文件放到 {cvBuild}\3rdparty\zlib 里.

在 VS2012 里選擇構件類型為“Release",如下圖所示:

image

再次執行 “BUILD –> Build Solution”, 如果有某個Project構建”fiailed”, 重新構建即可.

打開 {cvBuild}/bin/Rlease 文件夾, 你會看到滿滿一屏的 *.dll 和 *.exe 文件就像豐收的果實一樣帶着挑逗的表情對你微笑~~~.

說多了都是累贅, 只有你自己親自操作, 才能體會到滿滿的幸福:

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM