環(huán)境:windows 7+visual studio 2010+opencv 2.1
各位進(jìn)行操作時(shí),最好把其它無關(guān)的程序均關(guān)掉,最好把殺毒軟件關(guān)掉,360也都關(guān)掉,否則會(huì)出現(xiàn)未知的錯(cuò)誤 1、下載文件 OpenCV2.1 http://www./download/OpenCV-2.1.0-win32-vs2008.exe CMAKE 2.8.1 [url]http://www./files/v2.8/cmake-2.8.1-win32-86.exe INTELTBB3.0[/url] http://www./uploads/77/151/3.0/tbb30_20100406oss_win.zip 2、首先安裝CMAKE2.8.1,然后將OpenCV2.1安裝到你將要放置OPENCV的地方,接著,解壓INTEL TBB 3.0,比如將OPENCV和TBB都放在D:\Program Files里面。并在OpenCV文件夾下創(chuàng)建子目錄D:\vs2010,用于存放編譯結(jié)果。 檢查D:\Program Files\OpenCV2.1\bin和D:\Intel TBB 3.0\bin\ia32\vc10是否已經(jīng)被加入到環(huán)境變量(我的電腦-屬性-環(huán)境變量)PATH,如果沒有,請加入。加入后需要注銷當(dāng)前Windows用戶(或重啟)后重新登陸才生效。(可以在任務(wù)管理器里重啟explorer.exe) 打開CMAKE 2.8.1,在Where is the source code后面填寫(或者選擇)OPENCV 2.1的安裝目錄,如D:\Program Files\OpenCV2.1,在Where to build the binaries里填寫剛創(chuàng)建的子目錄D:\vs2010。接著點(diǎn)擊Configure按鈕,在出現(xiàn)的對話框中選擇Visual Studio 10,下面的選項(xiàng)選擇Use default native compilers,點(diǎn)擊Finish繼續(xù)。 過一會(huì)兒之后會(huì)出現(xiàn)一個(gè)配置窗口(此處注意在CMAKE配置的時(shí)候是不能夠打開VS2010的),然后勾選BUILD_SHARED_LIBS,BUILD_TESTS,OPENCV_BUILD_3DPARTY_LIBS,以及下面的WITH_JASPER,WITH_JPEG,WITH_PNG,WITH_TBB(一般這個(gè)沒默認(rèn)選上),和WITH_TIFF選項(xiàng) 這是我配置出現(xiàn)的錯(cuò)誤,現(xiàn)在還沒有辦法解決,繼續(xù), 勾好后再次點(diǎn)擊Configure,之后再配置窗口最上面會(huì)出現(xiàn)TBB_INCLUDE_DIR-NOTFOUND字樣的紅色選項(xiàng),此處為CMAKE找不到INTEL TBB的包含文件為之所致,將INTEL TBB 3.0里面的INCLUDE文件夾路徑(注意是INCLUDE,不是INCLUDE里面的子文件夾)定位到該配置屬性的路徑里(就在這一項(xiàng)的Value列,你點(diǎn)擊一下就會(huì)出現(xiàn)選擇文件夾的對話框),再次點(diǎn)擊Configure,在TBB_LIB_DIR處又會(huì)出現(xiàn)紅色一行,此處為INTEL TBB的庫文件位置,此處必須將路徑定位到含有LIB文件的位置(就在這一項(xiàng)的Value列,你點(diǎn)擊一下就會(huì)出現(xiàn)選擇文件夾的對話框,別找不到),比如我的安裝位置是D:/Program Files/Intel TBB 3.0/lib/ia32/vc10,也就是說,在lib文件夾下會(huì)有子文件夾,必須定位到子文件夾對應(yīng)的VC版本文件夾里去,這里由于是配置VS2010,所以我們選擇VC10文件夾,ia32子文件夾是32位系統(tǒng),此處應(yīng)根據(jù)對應(yīng)操作系統(tǒng)選擇。 然后,我們再次點(diǎn)擊Configure,此時(shí)所有紅色行已經(jīng)變?yōu)榘咨?,同時(shí)在下方的信息里面會(huì)有一條為Use TBB:YES的字樣,證明我們已經(jīng)將INTEL TBB配置完畢,然后點(diǎn)擊Generate。 3、完成后在剛創(chuàng)建的子文件夾D:\vs2010下會(huì)出現(xiàn)一個(gè)VS2010的解決方案文件OPENCV.sln,雙擊打開后,出現(xiàn)OPENCV 2.1的所有工程項(xiàng)目,先不要著急編譯。 首先點(diǎn)擊Solution Explorer(解決方案資源管理器)里面Property Manager(屬性管理器)(在視圖--》其它窗口--》屬性管理器)下的選項(xiàng)卡,依次展開ALL_BUILD—Debug|Win32—右鍵單擊Microsoft.Cpp.Win32.user,選擇Properties(屬性),然后選擇VC++ Directories(VC++目錄),在Executable Directories(可執(zhí)行文件目錄)里面將INTEL TBB 3.0的可執(zhí)行路徑(bin)填寫到里面,此處與LIB一樣,必須定位到VC10才可以,例如我的是D:\Program Files\Intel TBB 3.0\bin\ia32\vc10,將Include Directories(包含目錄)定位到Intel TBB的Include文件夾即可,無需再往深入定位,在Library Directories(庫目錄)里填寫Intel TBB的LIB文件位置,定位到VC10文件夾。 單擊確定之后,將選項(xiàng)卡切回到Solution Explorer(解決方案資源管理器),將編譯模式切換為Debug模式,右鍵單擊Solution OpenCV(解決方案OpenCV),選擇Rebuild Solution(重新生成解決方案),編譯后再右鍵單擊INSTALL項(xiàng)目,選擇Build(生成),之后將編譯模式切換為Release,重復(fù)debug模式下的步驟。完成后在你的解決方案文件夾D:\Program Files\OpenCV2.1\vs2010里面會(huì)生成bin目錄,include目錄,lib目錄。 此時(shí),OpenCV的*d.dll文件(for debug)和*.dll文件(for release)將出現(xiàn)在D:\vs2010\bin目錄中;OpenCV的*d.lib文件(for debug)和*.lib文件(for release)將出現(xiàn)在D:\vc2010\lib目錄;頭文件*.h出現(xiàn)在D:\vc2010\include\opencv中。
到此OPENCV 2.1配置完成, 以后建立OPENCV項(xiàng)目時(shí)都需在項(xiàng)目里面添加依賴庫,
方法是先建立一個(gè)C++項(xiàng)目,
在Solution Explorer(解決方案資源管理器)里面右鍵選擇項(xiàng)目,選擇Properties(屬性),然后在Linker(鏈接器)里面選擇Input(輸入),在依賴庫里添加OPENCV的LIB文件夾里的LIB文件名稱即可,文件名后面有小寫字母“d”的為Debug庫(調(diào)試模式庫),沒有“d”的為Release庫(發(fā)布模式庫)。例如active(debug)[活動(dòng)(debug)]里添加cv210d.lib cvaux210d.lib cxcore210d.lib highgui210d.lib ml210d.lib,release里添加cv210.lib cvaux210.lib cxcore210.lib highgui210.lib ml210.lib 新建win32控制臺(tái)項(xiàng)目,修改主文件為:
前面有幾個(gè)人在debug模式下調(diào)試出問題,原因其實(shí)在于:在OPENCV 2.1配置完成并編譯后,需要再把環(huán)境變量里面的“PATH = D:\Program Files\OpenCV2.1\bin”項(xiàng)刪除掉。否則,會(huì)在工程里面,把本應(yīng)該在目錄“D:\vs2010\bin”下讀取的依賴庫文件,錯(cuò)讀到“D:\Program Files\OpenCV2.1\bin”目錄下。環(huán)境變量里面默認(rèn)“path = D:\vs2010\bin”
在VS2010中,圖片路徑一定要寫成"E:\\lena.jpg"; 這種形式 其中E:\\lena.jpg是一張十分經(jīng)典的lena圖片。也可以隨便換成其他的。運(yùn)行程序,看到圖片就好了。 但是這樣配置的話,當(dāng)加載視頻的話會(huì)出現(xiàn) 丟失msvcr90d.dll 這種錯(cuò)誤,所以你們試一下用OpenCV-2.2.0-win32-vs2010這個(gè),
我現(xiàn)在在試這個(gè)
|
|