一次搞定OpenCV源碼及擴(kuò)展模塊的編譯與環(huán)境配置
點(diǎn)擊上方“小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
本文轉(zhuǎn)自|計(jì)算機(jī)視覺(jué)工坊
版本:VS2017、CMake3.12.3、OpenCV3.4.7
安裝OpenCV時(shí)的環(huán)境配置以及擴(kuò)展模塊的編譯對(duì)于多數(shù)新手來(lái)說(shuō)都是令人頭疼的問(wèn)題,希望通過(guò)這篇文章可以幫助新手們一次搞定OpenCV的安裝與擴(kuò)展模塊編譯問(wèn)題。
第一步:安裝軟件
1、安裝VS(這里用的版本是VS2017),在微軟官網(wǎng)可直接下載。
2、安裝OpenCV,建議將擴(kuò)展模塊部分也一起下載。
①需要登陸opencv官方github網(wǎng)站戳這里,打開(kāi)頁(yè)面點(diǎn)擊上方releases

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

③將壓縮包(opencv-3.4.7)解壓到指定路徑下得到opencv源碼source


④下載擴(kuò)展模塊,需要先找到opencv_contrib戳這里,同樣點(diǎn)擊releases

⑤進(jìn)入后選擇與自己的opencv源碼版本一致的opencv擴(kuò)展模塊點(diǎn)擊zip下載壓縮包

⑥將壓縮包(opencv_contrib-3.4.7)解壓到指定路徑下,建議和opencv解壓縮后的文件放在同一個(gè)文件夾中。
點(diǎn)開(kāi)文件夾的樣子如下,其中modules中存放著opencv中的擴(kuò)展模塊:
到此為止,我們的opencv及其擴(kuò)展模塊就安裝完成了。
3、安裝編譯工具CMake
①進(jìn)CMake的官方網(wǎng)址下載即可。戳這里
要注意的是,選擇的CMake版本要與opencv的版本兼容,這里選擇的CMake版本為3.12.3,選擇msi文件下載。

②第一次進(jìn)入會(huì)出現(xiàn)下面的彈窗,按如下勾選:

其余出現(xiàn)的接受協(xié)議,存儲(chǔ)路徑等彈窗,就一路確定下來(lái)就好,這樣就完成了CMake的安裝。
第二步:編譯OpenCV中的擴(kuò)展模塊
使用編譯工具CMake,其界面如下所示:

1、首先在CMake中添加源碼地址與結(jié)果保存地址,結(jié)果保存地址可以自己創(chuàng)建,建議和OpenCV中的source建立在一個(gè)文件夾下,這里為build文件夾。

4、添加擴(kuò)展模塊路徑
在上方勾選框中找到如下所示的模塊路徑,將擴(kuò)展模塊中的modules路徑添加進(jìn)去,將其上方的OPENCV_ENABLE_NONFREE勾選上,將world選項(xiàng)也勾選上,其余的可以先不動(dòng)(按照默認(rèn))。

6、這時(shí)在build中找到OpenCV.sln打開(kāi)



配置OpenCV與VS2017
1、配置環(huán)境變量
①找到CMake編譯后的\build\install\x64\vc15\bin文件夾,復(fù)制其路徑。




① 打開(kāi)VS2017,切換窗口為屬性管理器




①進(jìn)入屬性頁(yè)后雙擊庫(kù)目錄,點(diǎn)擊右側(cè)出現(xiàn)的角標(biāo)進(jìn)入編輯


打開(kāi)屬性頁(yè)中鏈接器中的輸入,將附加依賴(lài)項(xiàng)改為和自己的opencv版本匹配即可,完成后點(diǎn)擊屬性頁(yè)下方的確定。例如:我用的opencv版本是3.4.7,則附加依賴(lài)項(xiàng)為opencv_world347d.lib,具體可在install\x64\vc15\lib中查看

這里以擴(kuò)展模塊中常用的xfeature2D模塊為例,調(diào)用包含其中的SIFT實(shí)現(xiàn)特征檢測(cè):

輸出結(jié)果如下:

交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

