當前位置:首頁 » 編程軟體 » vs編譯opencv

vs編譯opencv

發布時間: 2024-08-28 15:55:49

⑴ VS2013怎麼配置opencv才能不用每次都重新配置一遍

說白了就是將VS第一次配置OpenCV的項目屬性表保存下來,每次新建項目時引用即可。
目錄

解壓OpenCV
配置系統環境變數
創建VS新項目
添加項目屬性表
配置項目屬性表
引用項目屬性表

聲明:


下展示內容,配置方案為OpenCV2.4.9+VS2013+win10+x64,但方法適用於OpenCV2.4.8、OpenCV2.4.9、
OpenCV2.4.10,適用於win7、win8.1、win10,適用於x64和x84(下面會講解如何對應修改)。如果問為什麼適用?因為我都試
過啊~

會一次性配置的知友請直接看第四部分和第六部分,因為其餘部分跟一次性配置是一樣的。

一、解壓OpenCV
比如本人解壓在G盤根目錄下

二、配置系統環境變數

打開「系統屬性」,點擊「環境變數」

雙擊Path的值部分

填上OpenCV的bin路徑

注意:
1、此時電腦最好重啟下。
2、如果你的應用程序是win32控制台應用程序,則選擇x32的路徑;如果你的應用程序是win64控制台應用程序,則選擇x64的路徑。(感謝 @吳信仰 的指正和解惑。)
3、vc10, vc11, vc12 分別表示VS2010, VS2012, VS2013的Visual Studio使用的編譯器版本,根據自己的VS版本來填寫正確的編譯器版本號。

三、創建VS新項目

四、添加項目屬性表

「視圖」打開「屬性窗口」

右擊「Debug|Win32」點擊「添加新項目屬性表」(如果想在Release模式下使用OpenCV,右擊Release|Win32,同理可得)
給屬性表命名

五、配置項目屬性表

雙擊創建的屬性表

5.1添加包含目錄

5.2添加附加庫目錄

注意:
1、如果你的應用程序是win32控制台應用程序,則選擇x32的路徑;如果你的應用程序是win64控制台應用程序,則選擇x64的路徑。
2、vc10, vc11, vc12 分別表示VS2010, VS2012, VS2013的Visual Studio使用的編譯器版本,根據自己的VS版本來填寫正確的編譯器版本號。

5.3添加附加依賴項

附加依賴項如下:
opencv_imgproc249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_legacy249d.lib
opencv_ml249d.lib
opencv_nonfree249d.lib
opencv_objdetect249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_videostab249d.lib

注意:
1、249對應OpenCV2.4.9,其他版本做對應修改。
2、後綴d代表Debug模式,如果是Release模式去掉d。依個人情況選擇Debug模式或者Release模式。

六、引用項目屬性表

打開項目目錄,你會看到如下文件

以後新建項目時,打開屬性管理器,右擊Debug|Win32選擇添加現有屬性表上述文件即可。

========================

以上,應該算VS一次配置永久使用OpenCV了^ ^

編輯於 2016-05-13

12 條評論

感謝

分享

收藏



沒有幫助


舉報



作者保留權利

ZZ Chris

,在野武將

18 人贊同

不同意vczh的做法,遇到需要切換opencv版本的情況太麻煩。
請認准屬性表,一次編寫,到處使用,系統環境變數你都不需要設定,所有設定都寫在屬性表文件中,用的時候在vs里導入屬性表。如果要切換opencv版本,只修改opencv編譯輸出目錄就可以了。

比如OpenCV3.0版的,可以命名為opencv300.props:

<?xml version="1.0" encoding="utf-8"?>
<!--
OpenCV 3.0.0屬性表文件
不用單獨配置環境變數OpenCV
也不用單獨在系統PATH上添加OpenCV可執行路徑
只需要在VisualStudio-"菜單"-"視圖"-"屬性管理器"中添加現有屬性表,添加本文件

使用前請將下面的OpenCVRoot修改為你的OpenCV編譯輸出目錄
-->

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>

<!-- 請把OpenCVRoot屬性的值替換為你的OpenCV編譯輸出的目標目錄,它包含x64、x86這樣的子目錄 -->
<OpenCVRoot>D:\lib\opencv300\build</OpenCVRoot>

<!-- 指定INCLUDE路徑-->
<IncludePath>$(OpenCVRoot)\include;$(IncludePath)</IncludePath>

<!-- 指定鏈接所需lib目錄-->
<LibraryPath Condition="'$(Platform)'=='Win32'">$(OpenCVRoot)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OpenCVRoot)\x64\vc12\lib;$(LibraryPath)</LibraryPath>

<!-- 保證系統處於Debug模式時,可以使用相對路徑讀取源代碼目錄下的文件,比如"lena.jpg"而不必是"d:/work/test/test/lena.jpg" -->
<LocalDebuggerWorkingDirectory>$(ProjectDir)</LocalDebuggerWorkingDirectory>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>

<!-- 讓系統PATH臨時包含指定的dll目錄 -->
<LocalDebuggerEnvironment Condition="'$(Platform)'=='Win32'">PATH=%PATH%;$(OpenCVRoot)\x86\vc12\bin</LocalDebuggerEnvironment>
<LocalDebuggerEnvironment Condition="'$(Platform)'=='X64'">PATH=%PATH%;$(OpenCVRoot)\x64\vc12\bin</LocalDebuggerEnvironment>
</PropertyGroup>

<!-- 以下是程序需要載入的lib文件。-->
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>

⑵ 為什麼要使用cmake+VS重新編譯的opencv庫

使用opencv需要編譯源碼,得到庫文件。可以用cmake構建項目後編譯,也可以直接用官方提供的編譯好的版本。
官方提供的編譯庫一般只是標准版本,可能與某些庫並不兼容,比如官方提供的編譯好的版本與opengl就不兼容,這時就只能自己構建項目後編譯。
在用cmake生成工程文件的時候,設置當中有WITH_OPENGL,WITH_QT等選項,你想支持哪個庫只需要選擇即可。
當然,一般使用的話,用官方提供的庫即可。OpenCV2.3.1版本就提供編譯好的庫,可以直接設置使用

⑶ opencv +vs2010問題,編譯出現100多錯誤。詳情見補充。

如果配置沒錯的話,看一下錯誤提示
則文件路徑出錯了;
正確的是:cvLoadImage("C:\\Users\\Hu\\Desktop\\matlab\\1.jpg",1)

或cvLoadImage("C:/Users/Hu/Desktop/matlab/1.jpg",1)

熱點內容
為什麼安卓手機做不出透明相框 發布:2024-11-25 05:13:52 瀏覽:491
間接結演算法 發布:2024-11-25 05:12:08 瀏覽:759
java咖啡機 發布:2024-11-25 05:12:05 瀏覽:489
小白主機怎麼配置 發布:2024-11-25 05:10:33 瀏覽:144
automator腳本 發布:2024-11-25 04:41:18 瀏覽:310
敲背面截圖怎麼弄安卓 發布:2024-11-25 04:39:18 瀏覽:809
安卓機關機如何設置快捷方式 發布:2024-11-25 04:16:02 瀏覽:636
安卓綠聯和倍思哪個品牌好 發布:2024-11-25 03:54:45 瀏覽:890
androidpack 發布:2024-11-25 03:53:17 瀏覽:446
阿里雲sql 發布:2024-11-25 03:53:15 瀏覽:714