此處的描述在Windows 7 SP1上進(jìn)行了測(cè)試。然而,它也應(yīng)該適用于任何其他相對(duì)現(xiàn)代的Windows操作系統(tǒng)。
如果您按照以下步驟后遇到錯(cuò)誤,請(qǐng)隨時(shí)通過(guò)OpenCV Q&A論壇與我們聯(liá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è)工具:
OpenCV可能會(huì)有多種口味。有一個(gè)“核心”部分將自行工作。然而,有幾種工具,由第三方提供的圖書(shū)館提供OpenCV可能利用的服務(wù)。這些將在許多方面提高其能力。為了使用任何一個(gè),您需要在系統(tǒng)上下載并安裝它們。
現(xiàn)在我們將描述完整的構(gòu)建步驟(使用所有上述框架,工具和庫(kù))。如果您不需要其中的一些支持,您可以隨意跳過(guò)本節(jié)。
解壓縮到是個(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))。
現(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。
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)制文件的目錄。
按配置按鈕指定要使用的編譯器(和IDE)。請(qǐng)注意,如果您可以在不同的編譯器之間選擇64位或32位庫(kù)。選擇您在應(yīng)用程序開(kāi)發(fā)中使用的那個(gè)。
CMake將開(kāi)始,并根據(jù)您的系統(tǒng)變量嘗試自動(dòng)找到盡可能多的包。您可以修改用于在WITH - > WITH_X菜單點(diǎn)中構(gòu)建的包(其中X是包的縮寫(xiě))。以下是您可以打開(kāi)或關(guān)閉的當(dāng)前包的列表:
選擇要使用的所有軟件包,然后再次按配置按鈕。有關(guān)構(gòu)建選項(xiàng)的簡(jiǎn)要概述,請(qǐng)確保二進(jìn)制目錄選擇下的分組選項(xiàng)已打開(kāi)。對(duì)于某些包,CMake可能找不到所有必需的文件或目錄。在這些情況下,CMake將在其輸出窗口(位于GUI底部)發(fā)出錯(cuò)誤,并將其字段值設(shè)置為未找到的常量。例如:
對(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)我。
此外,您需要選擇要構(gòu)建的OpenCV的哪一部分。
再次按配置按鈕,確保沒(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)建Release和Debug二進(jìn)制文件。使用IDE上的下拉菜單,在其中一個(gè)進(jìn)行構(gòu)建之后,更改其中的另一個(gè)。
最后,您可以觀察bin目錄中的內(nèi)置二進(jìn)制文件:
對(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)目。
這將在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)建):
首先,我們?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中
將其保存到注冊(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ù)。
更多建議: