一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

重磅乾貨,第一時間送達

本文轉自|計算機視覺工坊

版本:VS2017、CMake3.12.3、OpenCV3.4.7

安裝OpenCV時的環境配置以及擴充套件模組的編譯對於多數新手來說都是令人頭疼的問題,希望透過這篇文章可以幫助新手們一次搞定OpenCV的安裝與擴充套件模組編譯問題。

第一步:安裝軟體

1、安裝VS(這裡用的版本是VS2017),在微軟官網可直接下載。

2、安裝OpenCV,建議將擴充套件模組部分也一起下載。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

②找到要安裝的opencv版本,先點選Assets,再選擇Source code (Zip)下載壓縮包。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

③將壓縮包(opencv-3。4。7)解壓到指定路徑下得到opencv原始碼source

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

⑤進入後選擇與自己的opencv原始碼版本一致的opencv擴充套件模組點選zip下載壓縮包

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

⑥將壓縮包(opencv_contrib-3。4。7)解壓到指定路徑下,建議和opencv解壓縮後的檔案放在同一個資料夾中。

點開資料夾的樣子如下,其中modules中存放著opencv中的擴充套件模組:

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

到此為止,我們的opencv及其擴充套件模組就安裝完成了。

3、安裝編譯工具CMake

要注意的是,選擇的CMake版本要與opencv的版本相容,這裡選擇的CMake版本為3。12。3,選擇msi檔案下載。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

②第一次進入會出現下面的彈窗,按如下勾選:

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

其餘出現的接受協議,儲存路徑等彈窗,就一路確定下來就好,這樣就完成了CMake的安裝。

第二步:編譯OpenCV中的擴充套件模組

使用編譯工具CMake,其介面如下所示:

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

1、首先在CMake中新增原始碼地址與結果儲存地址,結果儲存地址可以自己建立,建議和OpenCV中的source建立在一個資料夾下,這裡為build資料夾。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

2、點選configure,首次點選會要求選擇VS版本(這裡採用的是VS2017),按如下進行勾選:

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

3、configure結束後如果沒有出現報錯,則點選generate,如果出現報錯,需要先排除報錯,可以先多試幾次configure,直到不報錯。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

4、新增擴充套件模組路徑

在上方勾選框中找到如下所示的模組路徑,將擴充套件模組中的modules路徑新增進去,將其上方的OPENCV_ENABLE_NONFREE勾選上,將world選項也勾選上,其餘的可以先不動(按照預設)。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

5、然後重新進行configure,直到上方勾選框全部變白,然後點選generate,配置完成。

6、這時在build中找到OpenCV。sln開啟

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

7、在資源管理器中找到INSTALL,右鍵點選生成(如果不是第一次就點選重新生成)

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

8、生成結束後,在build的資料夾下將會有一個新出現的install資料夾,這個資料夾就是最終得到的包含了擴充套件模組的opencv框架。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

第三步:環境配置

配置OpenCV與VS2017

1、配置環境變數

①找到CMake編譯後的\build\install\x64\vc15\bin資料夾,複製其路徑。

②找到本機的高階系統設定(在資料夾中右擊此電腦選擇屬性可以找到),點選進入。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

③進入後點擊環境變數然後找到Path系統變數,雙擊進入。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

④點選新建,將剛剛複製的路徑貼上進去,然後一路點選確定。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

2、配置包含目錄

① 開啟VS2017,切換視窗為屬性管理器

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

②在屬性管理器中按如下操作進入屬性頁

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

③進入屬性頁後雙擊包含目錄,點選右側出現的角標進入編輯

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

④進入後新增路徑分別為編譯生成的install下的幾個資料夾,分別為install\include、install\include\opencv、install\include\opencv2,全部新增完成後點選確定。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

3、配置庫目錄

①進入屬性頁後雙擊庫目錄,點選右側出現的角標進入編輯

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

②進入後新增路徑為編譯後install下的資料夾install\x64\vc15\lib,新增完成後點選確定。

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

4、配置連結檔案

開啟屬性頁中連結器中的輸入,將附加依賴項改為和自己的opencv版本匹配即可,完成後點選屬性頁下方的確定。例如:我用的opencv版本是3。4。7,則附加依賴項為opencv_world347d。lib,具體可在install\x64\vc15\lib中檢視

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

第四步:測試擴充套件模組

這裡以擴充套件模組中常用的xfeature2D模組為例,呼叫包含其中的SIFT實現特徵檢測:

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

輸出結果如下:

一次搞定OpenCV原始碼及擴充套件模組的編譯與環境配置

下載1:OpenCV-Contrib擴充套件模組中文版教程

下載2:Python視覺實戰專案52講

下載3:OpenCV實戰專案20講

交流群