此處的說明在Windows 7 SP1上進行了測試汗茄。 不過秸弛,它也適用于任何其他相對現代版本的Windows操作系統。 如果您在按照下述步驟操作后遇到錯誤洪碳,請隨時留言递览。 我們會盡力幫助您。
Installation by Using the Pre-built Libraries (使用預先構建的庫進行安裝)
- 啟動首選的Web瀏覽器瞳腌,然后轉到Sourceforge上的頁面绞铃。
- 選擇要使用的構建并下載它。
- 確保您擁有管理員權限嫂侍。 解壓縮自解壓存檔儿捧。
- 您可以在所選路徑中檢查安裝,如下所示挑宠。
- 完成安裝最后一步菲盾,請轉到設置OpenCV環(huán)境變量并將其添加到系統路徑部分。
安裝git-bash(版本版本必須大于等于 2.14.1)和cmake(安裝版本需要大于等于 3.9.1)
您必須下載cmake(版本> = 3.9.1)并安裝它各淀。 您必須在安裝期間將cmake添加到PATH變量
您必須安裝git-bash(版本> = 2.14.1)懒鉴。 安裝期間不要將git添加到PATH變量
運行git-bash前,你可以手動直接創(chuàng)建opencv臨時目錄文件夾碎浇;例如:c:/ lib中構建opencv和opencv_contrib
-
你也可以直接在git命令行中輸入以下命令(如果文件夾不存在):
mkdir /c/lib cd /c/lib
把以下腳本內容保存在根目錄下(如c:/ lib)疗我,命名為:installOCV.sh,保存此腳本
#!/bin/bash -e
myRepo=$(pwd)
CMAKE_CONFIG_GENERATOR="Visual Studio 14 2015 Win64"
if [ ! -d "$myRepo/opencv" ]; then
echo "cloning opencv"
git clone https://github.com/opencv/opencv.git
mkdir Build
mkdir Build/opencv
mkdir Install
mkdir Install/opencv
else
cd opencv
git pull --rebase
cd ..
fi
if [ ! -d "$myRepo/opencv_contrib" ]; then
echo "cloning opencv_contrib"
git clone https://github.com/opencv/opencv_contrib.git
mkdir Build
mkdir Build/opencv_contrib
else
cd opencv_contrib
git pull --rebase
cd ..
fi
RepoSource=opencv
pushd Build/$RepoSource
CMAKE_OPTIONS='-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DWITH_CUDA:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DINSTALL_CREATE_DISTRIB=ON'
cmake -G"$CMAKE_CONFIG_GENERATOR" $CMAKE_OPTIONS -DOPENCV_EXTRA_MODULES_PATH="$myRepo"/opencv_contrib/modules -DCMAKE_INSTALL_PREFIX="$myRepo"/install/"$RepoSource" "$myRepo/$RepoSource"
echo "************************* $Source_DIR -->debug"
cmake --build . --config debug
echo "************************* $Source_DIR -->release"
cmake --build . --config release
cmake --build . --target install --config release
cmake --build . --target install --config debug
popd
在工程配置選項中南捂,建議你使用64位的VS 2015吴裤,具體設置如下:
CMAKE_CONFIG_GENERATOR="Visual Studio 14 2015 Win64"
opencv將安裝在根目錄install文件下(c:/ lib / install中),設置如下:
-DCMAKE_INSTALL_PREFIX="$myRepo"/install/"$RepoSource" "$myRepo/$RepoSource"
其他選項設置如下: no Perf tests, no tests, no doc, no CUDA and no example
CMAKE_OPTIONS='-DBUILD_PERF_TESTS:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_DOCS:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF'
-
在git命令行中輸入以下命令:
./installOCV.sh
7.等待執(zhí)行完成,大約是喝兩杯咖啡時間
8.如果你需要更新版本溺健,只需更新:opencv 和 opencv_contrib兩個文件夾麦牺,重新編譯即可
windows系統上編譯OpenCV到底需要安裝那些工具钮蛛,這里有最全面的整理資料:
現在,我們將描述完整構建的步驟(使用所有上述框架剖膳、工具和庫)魏颓。如果其中一些不需要支持,您可以直接跳過這一部分吱晒。
Building the library
- 安裝可以正常啟動Microsoft Visual Studio
- 安裝cmake甸饱,只需按照向導,無需將其添加到路徑中仑濒。 正常選擇默認安裝選項叹话。
- 從官方網站.下載并安裝最新版本的msysgit。 還有便攜版本墩瞳,您只需要解壓縮即可訪問控制臺版本的Git驼壶。 便攜版對于一般開發(fā)人員來說,這已經足夠了喉酌。
- 安裝TortoiseGit热凹。 根據您使用的操作系統類型選擇32位或64位版本。安裝時泪电,找到您的msysgit(如果它不自動執(zhí)行此操作)般妙。 按照向導 - 大多數情況下默認選項都可以。
- 在文件系統中選擇一個目錄相速,您可以在其中下載OpenCV庫碟渺。 我建議創(chuàng)建一個具有短路徑且沒有特殊字符的新路徑,例如D:/ OpenCV和蚪。 在本教程中止状,我建議您這樣做。 如果你使用自己的已知的路徑攒霹,你這么做怯疤,也可以。
a. 將存儲庫克隆到所選目錄催束。 單擊“克隆”按鈕后集峦,將出現一個窗口,您可以從中選擇要從哪個存儲庫下載源文件(https://github.com/opencv/opencv.git)和目錄(D:/OpenCV)抠刺。
b. 按下“確定”按鈕并保持耐心塔淤,因為存儲庫的下載非常繁重。 這將需要一些時間取決于您的Internet連接速妖。 - 在本節(jié)中高蜂,我將介紹如何安裝第三方庫。
a.下載Python庫并使用默認選項進行安裝罕容。 您將需要其他幾個python擴展备恤。 幸運的是稿饰,安裝所有這些可以通過一個名為Setuptools的好工具自動化。 一次下載并全部安裝露泊。
b. 安裝Numpy的最簡單方法是從sourceforge頁面下載其二進制文件喉镰。 確保下載并安裝python版本的二進制文件(因此版本為2.7.以上版本)
c. 對于Intel Threading Building Blocks(* TBB *),下載源文件并將其解壓縮到系統上的目錄中惭笑。 例如:D:/ OpenCV / dep
侣姆。 要安裝 Intel Integrated Performance Primitives(* IPP *)和上邊步驟是一樣的。 為了提取壓縮內容沉噩,我建議使用7-Zip應用程序捺宗。
d.對于Intel IPP Asynchronous C / C ++下載源文件并設置環(huán)境變量IPP_ASYNC_ROOT。 它應該指向<您的Program Files(x86)目錄> / Intel / IPP Preview */ ipp目錄
屁擅。 這里*表示特定的預覽名稱偿凭。
e.如果是Eigen庫产弹,則再次下載并解壓縮到D:/ OpenCV / dep
目錄派歌。
f. 同上方法安裝OpenEXR.
g. 對于OpenNI框架,您需要同時安裝開發(fā)版和PrimeSensor模塊痰哨。
h. 對于CUDA胶果,您還需要兩個模塊:最新的CUDA工具包和 CUDA Tools SDK。 根據您的操作系統斤斧,使用32位或64位設置早抠,使用 complete選項下載并安裝它們。
i. 在Qt框架的情況下撬讽,您需要自己構建二進制文件 (除非您使用帶有32位編譯器的Microsoft Visual Studio 2008)蕊连。 要執(zhí)行此操作,請轉到Qt Downloads頁面游昼。 下載源文件 (不是安裝程序!!!):
將它解壓縮到一個很好的短命名目錄甘苍,如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
在你的操作系統(例子:window 7)上使用以下命令設置Qt環(huán)境變量之后:
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
.
Note
如果您計劃進行Qt應用程序開發(fā),您還可以在此時安裝Qt Visual Studio加載項毒返。 在此之后租幕,您可以在不使用Qt Creator的情況下制作和構建Qt應用程序。 一切都很好地集成到Visual Studio中拧簸。
-
現在打開CMake(cmake-gui)劲绪。 您可以再次在開始菜單搜索中輸入它,或從所有程序 - > CMake 2.8 - > CMake(cmake-gui)中獲取它盆赤。 首先贾富,選擇OpenCV庫源文件的目錄(1)。 然后牺六,指定一個目錄颤枪,您將在其中為OpenCV(2)構建二進制文件。
按Configure按鈕指定要使用的編譯器(和IDE)淑际。 請注意畏纲,如果您可以選擇不同的編譯器來制作64位或32位庫。 選擇您在應用程序開發(fā)中使用的那個春缕。
CMake將啟動并根據您的系統變量嘗試自動定位盡可能多的包盗胀。 您可以在WITH - > WITH_X菜單點(其中X是包縮寫)中修改要用于構建的包。 以下是您可以打開或關閉的當前包的列表:
選擇要使用的所有軟件包锄贼,然后再次按 Configure按鈕票灰。 為了更簡單地概述構建選項,請確保打開二進制目錄選項下的Grouped選項宅荤。 對于某些軟件包屑迂,CMake可能找不到所有必需的文件或目錄。 在這種情況下冯键,CMake將在其輸出窗口(位于GUI的底部)中拋出錯誤惹盼,并將其字段值設置為未找到的常量。 例如:
為此琼了,您需要手動設置查詢的目錄或文件路徑逻锐。然后再按一次 Configure按鈕,看看您輸入的值是否被接受雕薪。這樣做昧诱,直到所有條目都不報錯,并且您不能在GUI的字段/值或輸出部分看到錯誤提示∷現在我想強調一個您肯定會喜歡的選項:ENABLE - > ENABLE_SOLUTION_FOLDERS盏档。OpenCV將創(chuàng)建許多項目,打開這個選項將確保它們被分類在解決方案資源管理器中的目錄中燥爷。如果你問我如果判斷它是否添加成功蜈亩,這是一個必須有的特征懦窘。
此外,您需要選擇要構建的OpenCV的哪些部分:
- BUILD_DOCS -> 它創(chuàng)建了兩個用于構建OpenCV文檔的項目(將有一個單獨的項目來構建HTML和PDF文件)稚配。 請注意畅涂,這些不是與解決方案一起構建的。 您需要對這些命令進行顯式構建項目命令才能執(zhí)行此操作道川。
- BUILD_EXAMPLES -> OpenCV附帶了許多示例應用程序午衰,您可以從中學習大多數庫功能。 如果OpenCV在您的計算機上完全正常運行冒萄,這也很容易嘗試臊岸。
- BUILD_PACKAGE -> 在2.3版本之前,您可以構建一個將構建OpenCV安裝程序的項目尊流。 有了這個帅戒,您可以輕松地在其他系統上安裝OpenCV風格。 對于OpenCV的最新源文件崖技,它會生成一個新項目逻住,只需使用OpenCV源創(chuàng)建一個zip存檔。
- BUILD_SHARED_LIBS -> 有了這個响疚,您可以控制構建DLL文件(打開時)或靜態(tài)庫文件(* .lib)鄙信。
- BUILD_TESTS ->OpenCV的每個模塊都有一個分配給它的測試項目瞪醋。 構建這些測試項目也是一種很好的嘗試方法忿晕,模塊也可以在您的系統上按預期工作。
- BUILD_PERF_TESTS -> 還有許多OpenCV功能的性能測試银受。 如果您擔心性能践盼,請構建它們并運行。
- BUILD_opencv_python -> 不言而喻宾巍。 創(chuàng)建二進制文件以使用Python語言中的OpenCV咕幻。
再次按Configure按鈕,確保未報告任何錯誤顶霞。 如果是這種情況肄程,您可以通過按Generat按鈕告訴CMake創(chuàng)建項目文件。 轉到構建目錄并打開創(chuàng)建的OpenCV解決方案选浑。 根據您選擇的上述選項中的多少蓝厌,解決方案可能包含很多項目,因此在啟動時可以容忍IDE效率問題古徒。 現在您需要構建Release和Debug二進制文件拓提。
最后,您可以查看bin目錄中構建的二進制文件:
對于文檔隧膘,您需要在doxygen項目中為HTML文檔明確發(fā)出構建命令代态。 它將調用Doxygen的做所有的辛勤工作寺惫。 您可以在
build / doc / doxygen / html
中找到生成的文檔。
要將您在自己的項目中使用的標頭和二進制文件收集到一個單獨的目錄中(類似于預先構建的二進制文件的發(fā)布方式)蹦疑,您需要顯式構建Install項目西雀。
創(chuàng)建自己的第一個程序Build one 在install目錄下,且把所有已經編譯好的二進制文件鏈接到此工程中且放在同一個目錄下歉摧,僅在構建 Release 或者 Debug 版本時候使用它
要測試構建蒋搜,只需進入
Build / bin / Debug
或Build / bin / Release
目錄并啟動幾個應用程序,如contours.exe判莉。 如果可以正常啟動運行豆挽,證明你就完成了所有工作。 否則券盅,肯定會出現嚴重錯誤帮哈。 在這種情況下,您應該在我們的問答論壇上與我們聯系锰镀。 如果一切正常娘侍,contours.exe輸出應該類似于下圖(如果使用Qt支持構建):Note
如果您使用GPU模塊(CUDA庫),請確保您還升級到GPU的最新驅動程序泳炉。 包含(或找不到)nvcuda.dll中的無效條目的錯誤消息主要是由舊的視頻卡驅動程序引起的憾筏。 要測試GPU(如果構建),請運行performance_gpu.exe示例應用程序花鹅。