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