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