OpenCV 在Windows中安裝

2018-08-25 18:10 更新

此處的描述在Windows 7 SP1上進(jìn)行了測(cè)試。然而,它也應(yīng)該適用于任何其他相對(duì)現(xiàn)代的Windows操作系統(tǒng)。

如果您按照以下步驟后遇到錯(cuò)誤,請(qǐng)隨時(shí)通過(guò)OpenCV Q&A論壇與我們聯(lián)系。我們將竭盡全力幫助您。

注意
要使用OpenCV庫(kù),您有兩個(gè)選項(xiàng):通過(guò)使用預(yù)構(gòu)建庫(kù)進(jìn)行安裝通過(guò)從源文件創(chuàng)建自己的庫(kù)進(jìn)行安裝。雖然第一個(gè)更容易完成,但只有當(dāng)您使用最新的Microsoft Visual Studio IDE進(jìn)行編碼時(shí),才能使用它,并且不會(huì)利用我們集成到我們的庫(kù)中的最先進(jìn)的技術(shù)。.. _Windows_Install_Prebuild:

使用預(yù)構(gòu)建的庫(kù)進(jìn)行安裝

  1. 啟動(dòng)一個(gè)首選的網(wǎng)頁(yè)瀏覽器,并轉(zhuǎn)到我們的Sourceforge頁(yè)面
  2. 選擇一個(gè)你想要使用和下載它的構(gòu)建。
  3. 確保您具有管理員權(quán)限。解壓縮自解壓存檔。
  4. 您可以在所選路徑上檢查安裝,如下所示。

OpenCV 在Windows中安裝

通過(guò)從源文件制作自己的庫(kù)來(lái)進(jìn)行安裝

您可以在以下視頻中找到本教程的內(nèi)容:托管在YouTube上的第1 部分和第2部分。

警告

以上這些視頻已經(jīng)過(guò)時(shí),包含不準(zhǔn)確的信息。請(qǐng)注意,由于這些視頻中描述的解決方案不再受支持,甚至可能會(huì)中斷您的安裝。

如果您正在構(gòu)建自己的庫(kù),則可以從Git存儲(chǔ)庫(kù)獲取源文件。

從頭構(gòu)建OpenCV庫(kù)需要預(yù)先安裝幾個(gè)工具:

  • 一個(gè)IDE的選擇(最好),或者只是一個(gè)CC ++編譯器,實(shí)際上會(huì)使二進(jìn)制文件。這里我們將使用Microsoft Visual Studio。但是,您可以使用任何其他具有有效CC ++編譯器的IDE。
  • CMake,它是一個(gè)整潔的工具,用于從OpenCV源文件制作項(xiàng)目文件(對(duì)于您選擇的IDE)。它還將允許輕松配置OpenCV構(gòu)建文件,以便使二進(jìn)制文件完全符合您的需要。
  • Git獲取OpenCV源文件。一個(gè)很好的工具是TortoiseGit?;蛘?,您可以從我們的Sourceforge頁(yè)面下載源文件的歸檔版本

OpenCV可能會(huì)有多種口味。有一個(gè)“核心”部分將自行工作。然而,有幾種工具,由第三方提供的圖書(shū)館提供OpenCV可能利用的服務(wù)。這些將在許多方面提高其能力。為了使用任何一個(gè),您需要在系統(tǒng)上下載并安裝它們。

  • Python庫(kù)都需要建立Python接口的OpenCV?,F(xiàn)在使用版本2.7.{x}。如果要構(gòu)建OpenCV文檔,這也是必須的。
  • Numpy是Python的科學(xué)計(jì)算軟件包。需要Python接口。
  • 英特爾線程構(gòu)建塊(TBB)在OpenCV中用于并行代碼片段。使用此功能將確保OpenCV庫(kù)將充分利用系統(tǒng)CPU中的所有核心。
  • 英特爾?集成性能原語(yǔ)(IPP)可用于提高OpenCV庫(kù)的顏色轉(zhuǎn)換,Haar培訓(xùn)和DFT功能的性能。注意,因?yàn)檫@不是免費(fèi)的服務(wù)。
  • Intel IPP異步C / C ++目前專注于為高級(jí)圖像處理和計(jì)算機(jī)視覺(jué)功能提供英特爾圖形支持。
  • OpenCV通過(guò)使用Qt框架,提供了比起默認(rèn)的圖形用戶更有用的界面。要快速了解這些內(nèi)容,請(qǐng)查看文檔highgui模塊,在Qt新功能部分下。需要版本4.6或更高版本的框架。
  • Eigen是線性代數(shù)的C ++模板庫(kù)。
  • 最新的CUDA工具包將允許您使用GPU內(nèi)部的電源。這將大大提高某些算法的性能(例如HOG描述符)。越來(lái)越多的我們的算法在GPU上工作是OpenCV團(tuán)隊(duì)不斷的努力。
  • 庫(kù)需要OpenEXR源文件才能使用這種高動(dòng)態(tài)范圍(HDR)圖像文件格式。
  • OpenNI框架包含一組開(kāi)源API,通過(guò)諸如語(yǔ)音命令識(shí)別,手勢(shì)和身體運(yùn)動(dòng)跟蹤等方法,提供對(duì)設(shè)備自然交互的支持。預(yù)制二進(jìn)制文件可以在這里找到。OpenNIOpenNI2的源代碼也可以在Github上使用。
  • Doxygen是一個(gè)文檔生成器,是實(shí)際創(chuàng)建OpenCV文檔的工具。

現(xiàn)在我們將描述完整的構(gòu)建步驟(使用所有上述框架,工具和庫(kù))。如果您不需要其中的一些支持,您可以隨意跳過(guò)本節(jié)。

建立圖書(shū)館

  1. 確保你有一個(gè)工作的IDE與一個(gè)有效的編譯器。如果Microsoft Visual Studio只是安裝它并確保它啟動(dòng)。
  2. 安裝CMake的。只需按照向?qū)?,不需要將其添加到路徑。默認(rèn)安裝選項(xiàng)可以。
  3. 從其官方網(wǎng)站下載并安裝最新版本的msysgit 。還有便攜式版本,您只需解壓即可訪問(wèn)控制臺(tái)版本的Git。假設(shè)對(duì)于我們中的一些人來(lái)說(shuō),這可能是足夠的。
  4. 安裝TortoiseGit。根據(jù)您工作的操作系統(tǒng)的類型選擇32位或64位版本。安裝時(shí),找到您的msysgit(如果不自動(dòng))。按照向?qū)?- 大部分默認(rèn)選項(xiàng)都可以。
  5. 在文件系統(tǒng)中選擇一個(gè)目錄,您將在其中下載OpenCV庫(kù)。我建議創(chuàng)建一個(gè)新的,具有短路徑,沒(méi)有特殊字符,例如D:/OpenCV。對(duì)于本教程,我將建議您這樣做。如果你使用自己的路徑知道你在做什么 - 這是可以的。將存儲(chǔ)庫(kù)克隆到所選目錄。單擊克隆按鈕后,將出現(xiàn)一個(gè)窗口,您可以從中選擇要從哪個(gè)存儲(chǔ)庫(kù)下載源文件(https://github.com/opencv/opencv.git)以及什么目錄(D:/OpenCV)。按OK按鈕,耐心等候,因?yàn)榇鎯?chǔ)庫(kù)是相當(dāng)沉重的下載。根據(jù)您的互聯(lián)網(wǎng)連接需要一些時(shí)間。
  6. 在本節(jié)中,我將介紹如何安裝第三方庫(kù)。
  • 下載Python庫(kù)并使用默認(rèn)選項(xiàng)進(jìn)行安裝。您將需要一些其他python擴(kuò)展。幸運(yùn)的是安裝所有這些可以通過(guò)一個(gè)名為Setuptools的好工具進(jìn)行自動(dòng)化。再次下載并安裝。
  • 安裝Numpy最簡(jiǎn)單的方法是從sourceforge頁(yè)面下載其二進(jìn)制文件。確保您的下載并安裝完整的python版本的二進(jìn)制(所以版本2.7)。
  • 對(duì)于英特爾線程構(gòu)建塊(TBB),請(qǐng)下載源文件并將其解壓縮到系統(tǒng)上的目錄中。例如讓我們來(lái)D:/OpenCV/dep。為了安裝Intel Integrated Performance Primitives(IPP),故事是一樣的。為了提取檔案,我建議您使用7-Zip應(yīng)用程序。

OpenCV 在Windows中安裝

  • 對(duì)于Intel IPP異步C / C ++下載源文件并設(shè)置環(huán)境變量IPP_ASYNC_ROOT。應(yīng)該指出<your Program Files(x86) directory>/Intel/IPP Preview */ipp directory。這里*表示特定的預(yù)覽名稱。
  • 在Eigen庫(kù)的情況下,再次下載并提取到D:/OpenCV/dep目錄的情況。
  • 與OpenEXR相同。
  • 對(duì)于OpenNI Framework,您需要安裝開(kāi)發(fā)版本和PrimeSensor模塊。
  • 對(duì)于CUDA,您需要再次使用兩個(gè)模塊:最新的CUDA Toolkit和CUDA Tools SDK。根據(jù)您的操作系統(tǒng),使用32位或64位安裝程序,通過(guò)完整的選項(xiàng)下載并安裝它們兩者。
  • 在Qt框架的情況下,您需要構(gòu)建二進(jìn)制文件(除非您使用帶有32位編譯器的Microsoft Visual Studio 2008)。為此,請(qǐng)?jiān)L問(wèn)Qt下載頁(yè)面。下載源文件(不是安裝程序!!!):

OpenCV 在Windows中安裝

解壓縮到是個(gè)不錯(cuò)的短命名的目錄中D:/OpenCV/dep/qt/。那么你需要建立它。啟動(dòng)一個(gè)視覺(jué) 工作室 命令 提示符2010)通過(guò)開(kāi)始菜單的搜索(或通過(guò)開(kāi)始菜單導(dǎo)航所有程序- >微軟的Visual Studio 2010 - > Visual Studio工具- > Visual Studio命令提示符(2010))。

OpenCV 在Windows中安裝

現(xiàn)在導(dǎo)航到提取的文件夾并使用此控制臺(tái)窗口進(jìn)入它。您應(yīng)該有一個(gè)文件夾包含安裝,Make等文件。使用dir命令列出當(dāng)前目錄中的文件。一旦到達(dá)此目錄,輸入以下命令:

configure.exe -release -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools
              -no-qt3support -no-multimedia -no-ltcg

完成這個(gè)將需要大約10-20分鐘。然后輸入下一個(gè)需要更長(zhǎng)時(shí)間的命令(可以輕松占用一整個(gè)小時(shí)):

NMAKE

之后,在Windows 7上使用以下命令設(shè)置Qt環(huán)境變量:

setx -m QTDIR D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3

另外,使用PathEditor將內(nèi)置的二進(jìn)制文件路徑添加到系統(tǒng)路徑。在我們這種情況下D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3/bin。

注意
如果您打算進(jìn)行Qt應(yīng)用程序開(kāi)發(fā),您還可以在此安裝Qt Visual Studio加載項(xiàng)。之后,您可以制作和構(gòu)建Qt應(yīng)用程序,而無(wú)需使用Qt Creator。一切都很好地集成到Visual Studio中。

7、現(xiàn)在啟動(dòng)CMake(cmake-gui)。您可以在開(kāi)始菜單搜索中再次輸入,也可以從所有程序 - > CMake 2.8 - > CMake(cmake-gui)中獲取。首先,選擇OpenCV庫(kù)源文件的目錄(1)。然后,指定要在其中構(gòu)建OpenCV(2)的二進(jìn)制文件的目錄。

OpenCV 在Windows中安裝

按配置按鈕指定要使用的編譯器(和IDE)。請(qǐng)注意,如果您可以在不同的編譯器之間選擇64位或32位庫(kù)。選擇您在應(yīng)用程序開(kāi)發(fā)中使用的那個(gè)。

OpenCV 在Windows中安裝

CMake將開(kāi)始,并根據(jù)您的系統(tǒng)變量嘗試自動(dòng)找到盡可能多的包。您可以修改用于在WITH - > WITH_X菜單點(diǎn)中構(gòu)建的包(其中X是包的縮寫(xiě))。以下是您可以打開(kāi)或關(guān)閉的當(dāng)前包的列表:

OpenCV 在Windows中安裝

選擇要使用的所有軟件包,然后再次按配置按鈕。有關(guān)構(gòu)建選項(xiàng)的簡(jiǎn)要概述,請(qǐng)確保二進(jìn)制目錄選擇下的分組選項(xiàng)已打開(kāi)。對(duì)于某些包,CMake可能找不到所有必需的文件或目錄。在這些情況下,CMake將在其輸出窗口(位于GUI底部)發(fā)出錯(cuò)誤,并將其字段值設(shè)置為未找到的常量。例如:

OpenCV 在Windows中安裝

OpenCV 在Windows中安裝

對(duì)于這些,您需要手動(dòng)設(shè)置查詢的目錄或文件路徑。再次按下“ 配置”按鈕,查看您輸入的值是否被接受。執(zhí)行此操作直到所有條目都很好,并且您看不到GUI的字段/值或輸出部分中的錯(cuò)誤?,F(xiàn)在我想強(qiáng)調(diào)一個(gè)您一定會(huì)喜歡的選項(xiàng):ENABLE - > ENABLE_SOLUTION_FOLDERS。OpenCV將創(chuàng)建許多項(xiàng)目,并轉(zhuǎn)動(dòng)此選項(xiàng)將確保它們?cè)?em>解決方案資源管理器中的目錄中分類。這是必須有的功能,如果你問(wèn)我。

OpenCV 在Windows中安裝

此外,您需要選擇要構(gòu)建的OpenCV的哪一部分。

  • BUILD_DOCS - >它創(chuàng)建了兩個(gè)用于構(gòu)建OpenCV文檔的項(xiàng)目(將有一個(gè)用于構(gòu)建HTML和PDF文件的單獨(dú)項(xiàng)目)。請(qǐng)注意,這些不是與解決方案一起構(gòu)建的。您需要對(duì)它們進(jìn)行明確的構(gòu)建項(xiàng)目命令。
  • BUILD_EXAMPLES - > OpenCV帶有許多示例應(yīng)用程序,您可以從中了解大多數(shù)庫(kù)功能。如果OpenCV在您的計(jì)算機(jī)上完全正常運(yùn)行,這樣做也可輕松嘗試。
  • BUILD_PACKAGE - >在2.3之前,您可以構(gòu)建一個(gè)將構(gòu)建OpenCV安裝程序的項(xiàng)目。這樣,您可以輕松地在其他系統(tǒng)上安裝OpenCV風(fēng)味。對(duì)于OpenCV的最新源文件,它會(huì)生成一個(gè)新項(xiàng)目,只需使用OpenCV源創(chuàng)建一個(gè)zip存檔。
  • BUILD_SHARED_LIBS - >這樣可以控制構(gòu)建DLL文件(打開(kāi)時(shí))或靜態(tài)庫(kù)文件(* .lib)。
  • BUILD_TESTS - > OpenCV的每個(gè)模塊都有一個(gè)分配給它的測(cè)試項(xiàng)目。構(gòu)建這些測(cè)試項(xiàng)目也是一個(gè)很好的嘗試方式,模塊的工作原理與您的系統(tǒng)一樣。
  • BUILD_PERF_TESTS - >還有許多OpenCV功能的性能測(cè)試。如果您關(guān)心性能,建立并運(yùn)行。
  • BUILD_opencv_python - >不言自明。創(chuàng)建使用Python語(yǔ)言的OpenCV的二進(jìn)制文件。

再次按配置按鈕,確保沒(méi)有報(bào)告錯(cuò)誤。如果是這種情況,可以通過(guò)按下“ 生成”按鈕來(lái)告訴CMake創(chuàng)建項(xiàng)目文件。轉(zhuǎn)到構(gòu)建目錄并打開(kāi)創(chuàng)建的OpenCV解決方案。根據(jù)您選擇的上述選項(xiàng),您可以選擇多少項(xiàng)目可能包含相當(dāng)多的項(xiàng)目,以便在啟動(dòng)時(shí)可以在IDE上容忍?,F(xiàn)在您需要同時(shí)構(gòu)建ReleaseDebug二進(jìn)制文件。使用IDE上的下拉菜單,在其中一個(gè)進(jìn)行構(gòu)建之后,更改其中的另一個(gè)。

OpenCV 在Windows中安裝

最后,您可以觀察bin目錄中的內(nèi)置二進(jìn)制文件:

OpenCV 在Windows中安裝

對(duì)于文檔,您需要在doxygen項(xiàng)目上明確地發(fā)出構(gòu)建命令,以獲取HTML文檔。它會(huì)叫Doxygen做所有的辛勤工作。您可以在其中找到生成的文檔build/doc/doxygen/html。

要收集您將在自己的項(xiàng)目期間使用的標(biāo)題和二進(jìn)制文件到獨(dú)立的目錄(與預(yù)構(gòu)建的二進(jìn)制代碼一樣),您需要顯式構(gòu)建安裝項(xiàng)目。

OpenCV 在Windows中安裝

這將在Build中創(chuàng)建一個(gè)Install目錄,將所有構(gòu)建的二進(jìn)制文件集合到一個(gè)位置。僅在構(gòu)建版本和調(diào)試版本之后才能使用。

要測(cè)試您的構(gòu)建,只需進(jìn)入Build/bin/Debug或Build/bin/Release目錄,并啟動(dòng)幾個(gè)應(yīng)用程序,如contours.exe。如果他們跑,你就完成了。否則,絕對(duì)會(huì)有一些錯(cuò)誤。在這種情況下,您應(yīng)該在我們的問(wèn)答論壇上與我們聯(lián)系。如果一切正常,contours.exe輸出應(yīng)類似于以下圖像(如果使用Qt支持構(gòu)建):

OpenCV 在Windows中安裝

注意
如果您使用GPU模塊(CUDA庫(kù)),請(qǐng)確保您還升級(jí)到GPU的最新驅(qū)動(dòng)程序。包含無(wú)效條目(或找不到)nvcuda.dll的錯(cuò)誤消息主要由舊的視頻卡驅(qū)動(dòng)程序引起。要測(cè)試GPU(如果已經(jīng)建立)運(yùn)行performance_gpu.exe示例應(yīng)用程序。

設(shè)置OpenCV環(huán)境變量并將其添加到系統(tǒng)路徑

首先,我們?cè)O(shè)置一個(gè)環(huán)境變量來(lái)使我們的工作更容易。這將保存我們?cè)陧?xiàng)目中使用的OpenCV庫(kù)的構(gòu)建目錄。啟動(dòng)命令窗口并輸入:

setx -m OPENCV_DIR D:\OpenCV\Build\x86\vc11     (suggested for Visual Studio 2012 - 32 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc11     (suggested for Visual Studio 2012 - 64 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x86\vc12     (suggested for Visual Studio 2013 - 32 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc12     (suggested for Visual Studio 2013 - 64 bit Windows)
setx -m OPENCV_DIR D:\OpenCV\Build\x64\vc14     (suggested for Visual Studio 2015 - 64 bit Windows)

這里的目錄是您的OpenCV二進(jìn)制文件(提取或構(gòu)建)。您可以有不同的平臺(tái)(例如x64而不是x86)或編譯器類型,所以替換適當(dāng)?shù)闹?。在這里面,你應(yīng)該有兩個(gè)名為lib和bin的文件夾。如果您希望將計(jì)算機(jī)設(shè)置為智能,而不是用戶明智,則應(yīng)添加-m。

如果你建立了靜態(tài)庫(kù),那么你就完成了。否則,您需要將bin文件夾路徑添加到系統(tǒng)路徑。這是因?yàn)槟鷮⒁?“動(dòng)態(tài)鏈接庫(kù)”*(也稱為DLL)的形式使用OpenCV庫(kù)。在這些內(nèi)存中存儲(chǔ)OpenCV庫(kù)所包含的所有算法和信息。操作系統(tǒng)只能在運(yùn)行時(shí)根據(jù)需要加載它們。但是,要做到這一點(diǎn),操作系統(tǒng)需要知道它們?cè)谀睦?。系統(tǒng)PATH包含可以找到DLL的文件夾列表。將OpenCV庫(kù)路徑添加到此操作系統(tǒng),如果他需要OpenCV二進(jìn)制文件,操作系統(tǒng)將會(huì)知道在哪里看。否則,您將需要在應(yīng)用程序可執(zhí)行文件旁邊復(fù)制使用過(guò)的DLL(exe)為操作系統(tǒng)找到它,這是非常不愉快的,如果你在許多項(xiàng)目上工作。要做到這一點(diǎn)再次啟動(dòng)PathEditor并添加以下新條目(在應(yīng)用程序中右鍵單擊以顯示菜單):

%OPENCV_DIR%\ bin中

OpenCV 在Windows中安裝

OpenCV 在Windows中安裝

將其保存到注冊(cè)表并完成。如果您更改了構(gòu)建目錄的位置,或者想要使用不同的構(gòu)建來(lái)嘗試應(yīng)用程序,那么您需要做的就是通過(guò)命令窗口中的setx命令來(lái)更新OPENCV_DIR變量。

現(xiàn)在,您可以在“Microsoft Visual Studio”部分中使用OpenCV如何構(gòu)建應(yīng)用程序來(lái)繼續(xù)閱讀教程。您將在Microsoft Visual Studio IDE的幫助中找到如何在自己的項(xiàng)目中使用OpenCV庫(kù)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)