1. 程式人生 > >OpenCV 3.1.0 配置教程 Win7+ VS2012 / Win10 + VS2015

OpenCV 3.1.0 配置教程 Win7+ VS2012 / Win10 + VS2015

OpenCV 3.1.0 只能在VS2013和VS2015上直接使用,並且只能是64位的。當然如果你這些條件滿足的話,直接按照之前的方法就可以配置,但是需要注意的是:之前(2.0+版本)的那些dll庫都被合在了opencv_world310.dll 中,所以連結庫需要新增opencv_world310d.lib/opencv_world310.lib! ...\opencv\build\x64\vc14\lib  靜態連結庫 和 dll 的路徑...\opencv\build\x64\vc14\bin   

!!!在本文的最後還會教給大家一種不需要每次都配置的方法!!!

----------------------------------------------------------------------------------------------------------------------------------------

額外新增的:我將擴充套件版本的VS2012上傳給大家使用,當然只編譯了32位,沒有編譯CUDA相關的內容

(因為編譯CUDA相關內容太慢)

----------------------------------------------------------------------------------------------------------------------------------------

下面為不符合上述條件的!!!

否則需要自己進行編譯使用。當然我在這一過程中,並沒有一次順利編譯成功,因為部分選項會造成錯誤!!!所以我就在cmake(注:CMAKE如果沒有需要下載的,百度搜索即可)中勾選瞭如下的選項(後文圖片中)。

我編譯是在VS2012下進行的,如果需要整個檔案的(bin,include,lib)VS2012版(32位) VS2015版 我將發到空間中,供大家使用。當然我也會把配置提供給大家,特別注意3.1.0版本和之前的版本有較大區別。按照之前的配置方法可能會出一些錯誤。

注意:部分人可能不會配置,我把配置檔案貼出來,只要大家跟我是同樣路徑,並在我的電腦裡面的環境變數中新增“D:\install1\x86\vc11\bin;” 即可。   如果需要更換自己的變數可以對應的路徑換成自己的。

 配置檔案的字尾名為:" *.props "

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros" />
  <PropertyGroup>
    <ExecutablePath>D:\install1\x86\vc11\bin;$(ExecutablePath)</ExecutablePath>
    <IncludePath>D:\install1\include;D:\install1\include\opencv;D:\install1\include\opencv2;$(IncludePath)</IncludePath>
    <ReferencePath>$(ReferencePath)</ReferencePath>
    <LibraryPath>D:\install1\x86\vc11\lib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <Link>
      <AdditionalDependencies>opencv_calib3d310d.lib;opencv_core310d.lib;opencv_features2d310d.lib;opencv_flann310d.lib;opencv_highgui310d.lib;opencv_imgproc310d.lib;opencv_imgcodecs310d.lib;opencv_ml310d.lib;opencv_objdetect310d.lib;opencv_photo310d.lib;opencv_stitching310d.lib;opencv_ts310d.lib;opencv_video310d.lib;opencv_videostab310d.lib;opencv_tracking310d.lib;opencv_videoio310d.lib;%(AdditionalDependencies)</AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>


我將我的配置貼出來:這裡沒有選任何CUDA相關,以及IPP(這個需要執行中下載) 對於這個FFMPEG,因為我這裡面報錯為MD5不合法,所以我也取消掉了這個選項。具體見下面所示。


這裡生產完後,在我的build1資料夾中,會有一個OpenCV.sln的工程檔案,開啟後不需要修改任何東西。右擊ALL_BUILD-->重新生成。就可以開始編譯了。

 

具體時間不一定,我這邊用了20多分鐘,因為編譯的內容較少。

 

編譯成功後,再找剛剛目錄中的INSTALL,再次右擊INSTALL-->生成

再經過一段時間(可能1分鐘左右),就能在build1中找到一個Install 的檔案夾了,裡面就有我們想要的(bin,lib,include)檔案。注:第一次是debug下的,如果需要release需要再次編譯。

之後就是要配置OpenCV3.1.0,我也貼圖出來。我將install裡面東西原封不動放到D盤根目錄下。



其中要注意的是依賴項,以前沒見過imgcodecs的,這個一定要加入,否則Imread會讀取失敗的。好了,配置就這麼簡單。

我貼出我的簡單測試程式,有問題可以問,我還會及時更新碰到的問題!!!大家加油!!!

 測試程式及效果:


如果不會編譯的我上傳我編譯好的VS2012,以及VS2015版本的。提供給大家!

最後給大家說下方便一次配置後就可以一勞永逸的方法!!!!

一、首先是開啟VS工程,開啟屬性管理器,可以看到Debug|x64 和 Release|x64 中有個Microsoft.Cpp.x64.user

我這裡以Debug為例,新建一個配置檔案並改名為opencv310Debug64!!


二、雙擊開啟這個配置檔案,如下圖所示,按照常規方法進行配置!!當然連結庫大家就按照上面的方式新增以及path的環境變數。

配置好後儲存,就可以在工程目錄下發現這個配置檔案了,你可以把這個配置檔案複製儲存在某個資料夾下,以後需要用到,呼叫到裡面即可。!!

這樣就可以一勞永逸!!但是需要注意的是,當把程式換到別人電腦的時候,需要在同一位置有這個配置檔案,否則開啟會失敗!!當然,也可以通過開啟工程前修改工程目錄下的配置資訊,刪掉配置檔案這個屬性也可以開啟

配置檔案位置如下圖所示:


注:從圖中我們可以看到配置檔案在D:\opencv310_peizhi  資料夾中,如果程式拷到其他電腦中,需要相同位置(D:\opencv310_peizhi ) 有這個配置問題檔案,否則程式開啟將會報錯,當然,為了正確執行,對應的圖中配置檔案的第6\7\9\13 行內容需要相同。

還有一點要注意的是 :第一次生成的配置檔案是在工程目錄下的。

只要保證這個問題,大家就可以一勞永逸使用配置檔案啦。!!有不懂的可以問。