在windows上安装OpenCV
在windows上安裝OpenCV,官方提供的教程,我翻譯了一下。如有不正解,請(qǐng)指正
使用git-bash(版本> = 2.14.1)和cmake(版本> = 3.9.1)安裝
1.您必須下載cmake(版本> = 3.9.1)并進(jìn)行安裝。 安裝期間必須將cmake添加到PATH變量
2.您必須安裝git-bash(版本> = 2.14.1)。 在安裝過(guò)程中不要將git添加到PATH變量中
3.運(yùn)行g(shù)it-bash。 您觀(guān)察到命令行窗口。 假設(shè)您要在c:/ lib中構(gòu)建opencv和opencv_contrib
4.在git命令行中輸入以下命令(如果文件夾不存在):
mkdir /c/lib
cd /c/lib
5.使用名稱(chēng)installOCV.sh將此腳本保存在c:/ lib中
在此腳本中,我想您以64位使用VS 2015
CMAKE_CONFIG_GENERATOR=“Visual Studio 14 2015 Win64”
備注
如果你想要用VS 2017,你可以這樣修改
CMAKE_CONFIG_GENERATOR="Visual Studio 15 2017 Win64"
并且opencv將安裝在c:/ lib / install中
-DCMAKE_INSTALL_PREFIX=“myRepo"/install/"myRepo"/install/"myRepo"/install/"RepoSource” “myRepo/myRepo/myRepo/RepoSource”
沒(méi)有Perf測(cè)試,沒(méi)有測(cè)試,沒(méi)有文檔,沒(méi)有CUDA以及沒(méi)有示例
CMAKE_OPTIONS=’-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF’
6.在git命令行中輸入以下命令:
./installOCV.sh
7.喝一兩杯咖啡… opencv準(zhǔn)備好了:就這些!
8.下次運(yùn)行此腳本時(shí),將更新并重建opencv和opencv_contrib
到這里就完成了安裝,可以在Visual Studio里用OpenCV了。這是最簡(jiǎn)單的方法,如果你想要opencv_contrib下的module,但如果你只想要OpenCV,可以直接在OpenCV的官網(wǎng)上下載windows的安裝包,解壓后就可以了。
通過(guò)從源文件制作自己的庫(kù)進(jìn)行安裝
如果您要構(gòu)建自己的庫(kù),則可以從我們的Git存儲(chǔ)庫(kù)中獲取源文件。
從頭開(kāi)始構(gòu)建OpenCV庫(kù)需要預(yù)先安裝幾個(gè)工具:
-
選擇一個(gè)IDE(最好),或者只是一個(gè)將實(shí)際生成二進(jìn)制文件的CC ++編譯器。 在這里,我們將使用Microsoft Visual
Studio。 但是,您可以使用具有有效CC ++編譯器的任何其他IDE。 -
CMake,這是一個(gè)精巧的工具,可以從OpenCV源文件生成項(xiàng)目文件(針對(duì)您選擇的IDE)。 它還將允許輕松配置OpenCV構(gòu)建文件,以使二進(jìn)制文件完全適合您的需求。
-
Git獲取OpenCV源文件。
一個(gè)很好的工具是TortoiseGit。 另外,您也可以從Sourceforge上的頁(yè)面下載源文件的存檔版本
OpenCV可能有多種形式。 有一個(gè)“核心”部分可以獨(dú)立工作。 盡管如此,還是有一些由第三方組成的工具庫(kù)(3rd parties),它們提供了OpenCV可以利用的服務(wù)。 這些將在許多方面提高其功能。 為了使用它們中的任何一個(gè),您需要下載并將它們安裝在系統(tǒng)上。
-
需要Python庫(kù)來(lái)構(gòu)建OpenCV的Python接口。現(xiàn)在,請(qǐng)使用2.7.{x}版本。如果要構(gòu)建OpenCV文檔,這也是必須的。
-
Numpy是用于Python的科學(xué)計(jì)算軟件包。 Python介面所必需。
-
OpenCV內(nèi)部使用英特爾線(xiàn)程構(gòu)建模塊(TBB)處理并行代碼段。使用此功能可確保OpenCV庫(kù)將利用系統(tǒng)CPU中擁有的所有內(nèi)核。
-
英特爾集成性能基元(IPP)可用于提高OpenCV庫(kù)的顏色轉(zhuǎn)換,Haar訓(xùn)練和DFT功能的性能。請(qǐng)注意,因?yàn)檫@不是一項(xiàng)免費(fèi)服務(wù)。
-
與使用Qt框架的默認(rèn)用戶(hù)界面相比,OpenCV提供了一種更精美,更有用的圖形用戶(hù)界面。要快速了解此功能,請(qǐng)查看“ Qt新功能”部分下的文檔highgui模塊。需要框架的4.6版或更高版本。
-
Eigen是用于線(xiàn)性代數(shù)的C ++模板庫(kù)。
-
最新的CUDA工具包將允許您使用GPU內(nèi)部的電源。這將大大提高某些算法(例如HOG描述符)的性能。 OpenCV團(tuán)隊(duì)不斷努力使我們?cè)絹?lái)越多的算法能夠在GPU上運(yùn)行。
-
該庫(kù)需要OpenEXR源文件才能使用這種高動(dòng)態(tài)范圍(HDR)圖像文件格式。
-
OpenNI框架包含一組開(kāi)源API,這些API通過(guò)語(yǔ)音命令識(shí)別,手勢(shì)和身體運(yùn)動(dòng)跟蹤等方法為與設(shè)備的自然交互提供支持。預(yù)編譯的二進(jìn)制文件可以在這里找到。 Github上也提供了OpenNI和OpenNI2的源代碼
-
Doxygen是一個(gè)文檔生成器,并且是實(shí)際上將創(chuàng)建OpenCV文檔的工具。
現(xiàn)在,我們將描述完整構(gòu)建所要遵循的步驟(使用上述所有框架,工具和庫(kù))。 如果不需要其中一些支持,則可以隨意跳過(guò)本節(jié)。
建立文庫(kù)
1.確保您的IDE帶有有效的編譯器。如果是Microsoft Visual Studio,則只需安裝并確保其啟動(dòng)即可。
2.安裝CMake。只需遵循向?qū)?#xff0c;無(wú)需將其添加到路徑。默認(rèn)安裝選項(xiàng)為“確定”。
3.從其官方站點(diǎn)下載并安裝msysgit的最新版本。還有一個(gè)便攜式版本,您只需打開(kāi)包裝即可訪(fǎng)問(wèn)Git的控制臺(tái)版本。假設(shè)對(duì)于我們中的某些人來(lái)說(shuō),這可能就足夠了。
4.安裝TortoiseGit。根據(jù)您使用的操作系統(tǒng)類(lèi)型選擇32位或64位版本。在安裝時(shí),找到您的msysgit(如果它不會(huì)自動(dòng)執(zhí)行此操作)。按照向?qū)нM(jìn)行操作–大多數(shù)情況下,默認(rèn)選項(xiàng)都可以。
5.在文件系統(tǒng)中選擇一個(gè)目錄,您將在其中下載OpenCV庫(kù)。我建議創(chuàng)建一個(gè)路徑短且沒(méi)有特殊字符的新路徑,例如D:/ OpenCV。對(duì)于本教程,我建議您這樣做。如果您使用自己的路徑并且知道自己在做什么–可以。
a.將存儲(chǔ)庫(kù)克隆到所選目錄。單擊“克隆”按鈕后,將出現(xiàn)一個(gè)窗口,您可以從其中選擇要下載源文件的存儲(chǔ)庫(kù)(https://github.com/opencv/opencv.git)以及要下載到的目錄(D:/ OpenCV)。
b.按下“確定”按鈕,請(qǐng)耐心等待,因?yàn)樵撡Y源庫(kù)下載量很大。這將需要一些時(shí)間,具體取決于您的Internet連接。
6.在本節(jié)中,我將介紹安裝第三方庫(kù)(3rd party libraries)。
a.下載Python庫(kù)并使用默認(rèn)選項(xiàng)進(jìn)行安裝。您將需要其他幾個(gè)python擴(kuò)展。幸運(yùn)的是,可以通過(guò)一個(gè)名為Setuptools的不錯(cuò)的工具來(lái)自動(dòng)安裝所有這些工具。重新下載并安裝。
b.安裝Numpy的最簡(jiǎn)單方法是僅從sourceforge頁(yè)面下載其二進(jìn)制文件。確保下載并完全安裝適用于python版本的二進(jìn)制文件(適用于2.7版本)。
c.對(duì)于英特爾線(xiàn)程構(gòu)建模塊(TBB),請(qǐng)下載源文件并將其解壓縮到系統(tǒng)上的目錄中。例如,讓D:/ OpenCV / dep。對(duì)于安裝英特爾集成性能基元(IPP)的情況是相同的。要提取檔案,我建議使用7-Zip應(yīng)用程序。
d.如果是Eigen庫(kù),則還是要下載并解壓縮到D:/ OpenCV / dep目錄。
e.與上述OpenEXR相同。
f.對(duì)于OpenNI框架,您需要同時(shí)安裝開(kāi)發(fā)版本和PrimeSensor模塊。
g.對(duì)于CUDA,您再次需要兩個(gè)模塊:最新的CUDA工具包和CUDA工具SDK。 根據(jù)您的操作系統(tǒng),使用32或64位設(shè)置下載并安裝完整的選項(xiàng)。
h.如果使用Qt框架,則需要自己構(gòu)建二進(jìn)制文件(除非您將Microsoft Visual Studio 2008與32位編譯器一起使用)。 為此,請(qǐng)轉(zhuǎn)到“ Qt下載”頁(yè)面。 下載源文件(而不是安裝程序!!):
將其解壓縮到一個(gè)漂亮且簡(jiǎn)短的目錄中,例如D:/ OpenCV / dep / qt /。 然后,您需要構(gòu)建它。 通過(guò)使用開(kāi)始菜單搜索來(lái)啟動(dòng)Visual Studio命令提示符(2010)(或在開(kāi)始菜單“所有程序”->“ Microsoft Visual Studio 2010”->“ Visual Studio工具”->“ Visual Studio命令提示符”(2010)中導(dǎo)航)。
現(xiàn)在,導(dǎo)航到提取的文件夾,并使用此控制臺(tái)窗口在其中輸入。 您應(yīng)該有一個(gè)包含諸如Install,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
完成此過(guò)程大約需要10-20分鐘。 然后輸入下一個(gè)命令,該命令將花費(fèi)更長(zhǎng)的時(shí)間(很容易花費(fèi)甚至超過(guò)一個(gè)小時(shí)的時(shí)間):
nmake
之后,在Windows 7上使用以下命令設(shè)置Qt環(huán)境變量:
setx -m QTDIR D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3
另外,通過(guò)使用PathEditor將構(gòu)建的二進(jìn)制文件路徑添加到系統(tǒng)路徑。 在我們的例子中,這是D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3/bin。
注意
如果計(jì)劃進(jìn)行Qt應(yīng)用程序開(kāi)發(fā),則此時(shí)也可以安裝Qt Visual Studio加載項(xiàng)。 之后,您無(wú)需使用Qt Creator即可制作和構(gòu)建Qt應(yīng)用程序。 一切都很好地集成到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)制文件的目錄。
按“配置(Configure )”按鈕以指定要使用的編譯器(和IDE)。 請(qǐng)注意,如果您可以在不同的編譯器之間進(jìn)行選擇,以制作64位或32位庫(kù)。 選擇在應(yīng)用程序開(kāi)發(fā)中使用的一個(gè)。
CMake將啟動(dòng),并根據(jù)您的系統(tǒng)變量嘗試自動(dòng)定位盡可能多的軟件包。 您可以在WITH –> WITH_X菜單點(diǎn)(其中X是軟件包的縮寫(xiě))中修改要用于構(gòu)建的軟件包。 以下是您可以打開(kāi)或關(guān)閉的當(dāng)前軟件包的列表:
選擇您要使用的所有軟件包,然后再次按“配置”按鈕。 為了更輕松地了解構(gòu)建選項(xiàng),請(qǐng)確保已打開(kāi)二進(jìn)制目錄選擇下的“分組”選項(xiàng)。 對(duì)于某些軟件包,CMake可能找不到所有必需的文件或目錄。 在這種情況下,CMake將在其輸出窗口(位于GUI的底部)中引發(fā)錯(cuò)誤,并將其字段值設(shè)置為找不到常量。 例如:
對(duì)于這些,您需要手動(dòng)設(shè)置查詢(xún)的目錄或文件路徑。 之后,再次按“配置”按鈕以查看您輸入的值是否被接受。 執(zhí)行此操作,直到所有輸入都正確,并且看不到GUI的字段/值或輸出部分中的錯(cuò)誤為止。 現(xiàn)在,我想強(qiáng)調(diào)一個(gè)您一定會(huì)喜歡的選項(xiàng):ENABLE –> ENABLE_SOLUTION_FOLDERS。 OpenCV將創(chuàng)建許多項(xiàng)目,并且選擇此選項(xiàng)將確保它們?cè)诮鉀Q方案資源管理器的目錄中被歸類(lèi)。 如果您問(wèn)我,這是必須具備的功能。
此外,您需要選擇要構(gòu)建OpenCV的哪一部分。
- BUILD_DOCS->它創(chuàng)建兩個(gè)項(xiàng)目來(lái)構(gòu)建OpenCV的文檔(將有一個(gè)單獨(dú)的項(xiàng)目來(lái)構(gòu)建HTML和PDF文件)。請(qǐng)注意,這些不是與解決方案一起構(gòu)建的。您需要對(duì)這些命令執(zhí)行一個(gè)明確的build project
- BUILD_EXAMPLES-> OpenCV附帶了許多示例應(yīng)用程序,您可以從中學(xué)習(xí)大多數(shù)庫(kù)功能。如果您的計(jì)算機(jī)上的OpenCV功能齊全,這也將很容易嘗試。
- BUILD_PACKAGE->在此之前的2.3版之前,您可以構(gòu)建一個(gè)將構(gòu)建OpenCV安裝程序的項(xiàng)目。這樣,您就可以輕松地在其他系統(tǒng)上安裝OpenCV Favourite。對(duì)于OpenCV的最新源文件,它將生成一個(gè)新項(xiàng)目,該項(xiàng)目?jī)H使用OpenCV源創(chuàng)建一個(gè)zip存檔。
- BUILD_SHARED_LIBS->使用此控件,您可以控制構(gòu)建DLL文件(打開(kāi)時(shí))或構(gòu)建靜態(tài)庫(kù)文件(* .lib)。
- BUILD_TESTS-> OpenCV的每個(gè)模塊都分配有一個(gè)測(cè)試項(xiàng)目。構(gòu)建這些測(cè)試項(xiàng)目也是嘗試的好方法,因?yàn)檫@些模塊也可以在您的系統(tǒng)上正常工作。
- BUILD_PERF_TESTS->還有許多OpenCV函數(shù)的性能測(cè)試。如果您擔(dān)心性能,請(qǐng)構(gòu)建它們并運(yùn)行。
- BUILD_opencv_python->不言自明。創(chuàng)建二進(jìn)制文件以使用來(lái)自Python語(yǔ)言的OpenCV。
- BUILD_opencv_world->生成一個(gè)包括所有模塊的單個(gè)“ opencv_world”二進(jìn)制文件(一個(gè)共享庫(kù)或靜態(tài)庫(kù),取決于BUILD_SHARED_LIBS),而不是一個(gè)單獨(dú)的二進(jìn)制文件的集合,每個(gè)模塊一個(gè)二進(jìn)制文件。
再次按配置按鈕,并確保沒(méi)有錯(cuò)誤報(bào)告。 在這種情況下,您可以通過(guò)按“生成”按鈕告訴CMake創(chuàng)建項(xiàng)目文件。 轉(zhuǎn)到構(gòu)建目錄并打開(kāi)創(chuàng)建的OpenCV解決方案。 根據(jù)您選擇的上述選項(xiàng)的多少,解決方案可能包含很多項(xiàng)目,因此容忍IDE的啟動(dòng)。 現(xiàn)在,您需要構(gòu)建Release和Debug二進(jìn)制文件。 在為其中一個(gè)構(gòu)建之后,請(qǐng)使用IDE上的下拉菜單將其更改為另一個(gè)。
最后,您可以觀(guān)察bin目錄中構(gòu)建的二進(jìn)制文件:
對(duì)于文檔,您需要在doxygen項(xiàng)目上為HTML文檔明確發(fā)出構(gòu)建命令。 它將調(diào)用Doxygen進(jìn)行所有艱苦的工作。 您可以在build / doc / doxygen / html中找到生成的文檔。
要將標(biāo)頭和二進(jìn)制文件(將在自己的項(xiàng)目中使用)收集到一個(gè)單獨(dú)的目錄中(類(lèi)似于預(yù)構(gòu)建的二進(jìn)制文件的方式),需要顯式構(gòu)建Install項(xiàng)目。
這將在Build內(nèi)部創(chuàng)建一個(gè)Install目錄,將所有已構(gòu)建的二進(jìn)制文件收集到一個(gè)位置。 僅在構(gòu)建發(fā)行版和調(diào)試版之后才使用此功能。
要測(cè)試您的構(gòu)建,只需進(jìn)入Build / bin / Debug或Build / bin / Release目錄并啟動(dòng)幾個(gè)應(yīng)用程序,例如contours.exe。 如果它們運(yùn)行,您就完成了。 否則,肯定會(huì)出現(xiàn)嚴(yán)重錯(cuò)誤。 在這種情況下,您應(yīng)該在我們的問(wèn)答論壇上與我們聯(lián)系。 如果一切正常,則contours.exe輸出應(yīng)類(lèi)似于以下圖像(如果使用Qt支持構(gòu)建):
注意
如果使用GPU模塊(CUDA庫(kù)),請(qǐng)確保還升級(jí)到GPU的最新驅(qū)動(dòng)程序。 錯(cuò)誤消息中包含(或找不到)nvcuda.dll中的無(wú)效條目,主要是由舊的視頻卡驅(qū)動(dòng)程序引起的。 要測(cè)試GPU(如果已構(gòu)建),請(qǐng)運(yùn)行performance_gpu.exe示例應(yīng)用程序。
設(shè)置OpenCV環(huán)境變量并將其添加到系統(tǒng)路徑
首先,我們?cè)O(shè)置一個(gè)環(huán)境變量以簡(jiǎn)化我們的工作。 這將保存我們?cè)陧?xiàng)目中使用的OpenCV庫(kù)的build目錄。 啟動(dòng)命令窗口并輸入:
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x86 \ vc11(建議用于Visual Studio 2012-32位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc11(建議用于Visual Studio 2012-64位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x86 \ vc12(建議用于Visual Studio 2013-32位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc12(建議用于Visual Studio 2013-64位Windows)
setx -m OPENCV_DIR D:\ OpenCV \ Build \ x64 \ vc14(建議用于Visual Studio 2015-64位Windows)
在此目錄中,可以找到(提取或構(gòu)建的)OpenCV二進(jìn)制文件。您可以使用其他平臺(tái)(例如x64而不是x86)或編譯器類(lèi)型,因此請(qǐng)?zhí)鎿Q適當(dāng)?shù)闹怠T谄渲?#xff0c;您應(yīng)該有兩個(gè)名為lib和bin的文件夾。如果要使計(jì)算機(jī)設(shè)置明智,而不是用戶(hù)明智,則應(yīng)添加-m。
如果您構(gòu)建了靜態(tài)庫(kù),那么您就完成了。否則,您需要將bin文件夾路徑添加到系統(tǒng)路徑。這是因?yàn)槟鷮⒁?“動(dòng)態(tài)鏈接庫(kù)” *(也稱(chēng)為DLL)的形式使用OpenCV庫(kù)。這些內(nèi)部存儲(chǔ)著OpenCV庫(kù)包含的所有算法和信息。操作系統(tǒng)將僅在運(yùn)行時(shí)按需加載它們。但是,為此,操作系統(tǒng)需要知道它們的位置。系統(tǒng)PATH包含可以找到DLL的文件夾列表。將OpenCV庫(kù)路徑添加到此路徑,然后操作系統(tǒng)將知道他是否需要OpenCV二進(jìn)制文件在哪里尋找。否則,您將需要在操作系統(tǒng)的應(yīng)用程序可執(zhí)行文件(exe)旁邊復(fù)制使用的DLL,以找到它,如果您在許多項(xiàng)目上工作,這將是非常不愉快的。為此,請(qǐng)?jiān)俅螁?dòng)PathEditor并添加以下新條目(在應(yīng)用程序中單擊鼠標(biāo)右鍵以顯示菜單):
%OPENCV_DIR%\bin
將其保存到注冊(cè)表中,即可完成操作。 如果您更改了構(gòu)建目錄的位置,或者想嘗試使用其他構(gòu)建版本的應(yīng)用程序,那么您要做的就是通過(guò)命令窗口中的setx命令更新OPENCV_DIR變量。
現(xiàn)在,您可以繼續(xù)閱讀“ Microsoft Visual Studio”部分中的“如何使用OpenCV構(gòu)建應(yīng)用程序”教程。 在那里,您將找到如何在Microsoft Visual Studio IDE的幫助下在自己的項(xiàng)目中使用OpenCV庫(kù)。
總結(jié)
以上是生活随笔為你收集整理的在windows上安装OpenCV的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 打算开源一个低代码平台,第四天,包含【工
- 下一篇: 第四章 虚拟机的安装和使用