VS2013+openCV3.0無腦配置方法+解決警告問題【windows平台】


VS2013+openCV3.0無腦配置方法+解決警告問題【windows平台】

本文介紹如何配置VS+openCV環境,並解決“opencv 3.0 warning C4819: 該文件包含不能在當前代碼頁(936)中表示的字符。請將該文件保存為 Unicode 格式以防止數據丟失的”警告

參考博客:

http://my.phirobot.com/blog/2014-02-opencv_configuration_in_vs.html

下載 openCV

下載 Opencv for Windows 最新版本,本文是 Opencv 3.00。雙擊后會出現解壓提示,實際上就是“安裝”了,路徑填寫為 D:/Program Files,然后確定。

D:/Program Files 可以為任意自己希望opencv安裝的路徑,解壓完成后,會在你所填目錄中新增一個 opencv文件夾,
里面就是opencv的所有內容了。例如按照我的路徑,解壓完成后Opencv就在 D:/Program Files/opencv 里面了。

 

配置環境變量

在系統變量里面新建變量,名為 OPENCV ,值為自己解壓opencv路徑下的build路徑,如 D:\Program Files\opencv\build

env1

Tip

這一步是方便以后如果opencv路徑改變了,只需要修改此變量就可以了,而不必做大范圍修改。

在系統變量里面編輯 Path 變量,在末尾添加 ;%OPENCV%\x86\vc12\bin

env1

x86和x64分別表示32bit和64bit的VS工程,根據自己的工程來修改,否則雖編譯成功但會運行錯 誤;vc10, vc11, vc12 分別表示VS2010, VS2012, VS2013的Visual Studio使用的編譯器版本,根據自己的VS版本來填寫正確的編譯器版本號。
環境變量設置好后最好注銷(重啟)一下系統,可能有的系統環境變量不會立即生效,而導致一系列路徑相關的問題。

編寫Opencv的VS工程容屬性表

在opencv根目錄(例如 D:\Program Files\opencv)下新建VS屬性表文件 opencv300.props,或者直接下載我的 opencv300.props(點擊下載) 屬性表文件。

opencv300.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>
    <IncludePath>$(OPENCV)\include;$(IncludePath)</IncludePath>
    <LibraryPath Condition="'$(Platform)'=='Win32'">$(OPENCV)\x86\vc12\lib;$(OPENCV)\x86\vc12\staticlib;$(LibraryPath)</LibraryPath>
    <LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc12\lib;$(OPENCV)\x64\vc12\staticlib;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <Link Condition="'$(Configuration)'=='Debug'">
      <AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.lib;IlmImfd.lib;libjasperd.lib;libjpegd.lib;libpngd.lib;libtiffd.lib;libwebpd.lib;opencv_calib3d300d.lib;opencv_core300d.lib;opencv_features2d300d.lib;opencv_flann300d.lib;opencv_highgui300d.lib;opencv_imgcodecs300d.lib;opencv_imgproc300d.lib;opencv_ml300d.lib;opencv_objdetect300d.lib;opencv_photo300d.lib;opencv_shape300d.lib;opencv_stitching300d.lib;opencv_superres300d.lib;opencv_ts300d.lib;opencv_video300d.lib;opencv_videoio300d.lib;opencv_videostab300d.lib;zlibd.lib;%(AdditionalDependencies)
      </AdditionalDependencies>
    </Link>
    <Link Condition="'$(Configuration)'=='Release'">
      <AdditionalDependencies>opencv_ts300.lib;opencv_world300.lib;IlmImf.lib;ippicvmt.lib;libjasper.lib;libjpeg.lib;libpng.lib;libtiff.lib;libwebp.lib;opencv_calib3d300.lib;opencv_core300.lib;opencv_features2d300.lib;opencv_flann300.lib;opencv_highgui300.lib;opencv_imgcodecs300.lib;opencv_imgproc300.lib;opencv_ml300.lib;opencv_objdetect300.lib;opencv_photo300.lib;opencv_shape300.lib;opencv_stitching300.lib;opencv_superres300.lib;opencv_ts300.lib;opencv_video300.lib;opencv_videoio300.lib;opencv_videostab300.lib;zlib.lib;%(AdditionalDependencies)
      </AdditionalDependencies>
    </Link>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>

這份屬性表為opencv3.0的VS2013工程屬性表,兼容64位和32位平台,兼容Debug和Release配置。詳細解釋看后文,后面在VS工程中配置Opencv只需要導入這份屬性表就可以了。

新建VS測試工程

文件 -> 新建 -> 項目 -> Visual C++ -> Win32 控制台應用程序(輸入名稱test)

step1

確定 -> 下一步 -> 附加選項選“空項目” -> 完成

step2

VS內配置Opencv

這里用VS屬性表的方式將Opencv配進工程,每次只需要添加屬性表即可完成配置,比手工界面配置方便很多。

屬性管理器 -> 右鍵 “test”(工程名) -> 添加現有屬性表

step3

找到之前新建或者下載的屬性表( D:\Program Files\opencv\opencv300.props ),添加進工程

step4

測試

解決方案資源管理器 -> 源文件(右鍵)-> 添加 -> 新建項

step5

Visual C++ -> C++文件:輸入名稱test點添加

step6

粘貼下面的代碼,保存:

#include <opencv2\opencv.hpp>
#include <iostream> #include <string> using namespace cv; using namespace std; int main() { Mat img = imread("pp.jpg"); if (img.empty()) { cout << "error"; return -1; } imshow("pp的靚照", img); waitKey(); return 0; } 

把自己的靚照改名為pp.jpg,然后放到工程項目的test文件夾里面(是里面那個test文件夾)

step7按F5調試程序,如果你的圖片出來了就OK了。

 

解決警告

   編譯的時候會出現 “opencv 3.0 warning C4819: 該文件包含不能在當前代碼頁(936)中表示的字符。請將該文件保存為 Unicode 格式以防止數據丟失的”的警告。
解決辦法就是找到警告的文件,然后用notepad++轉碼為ANSI


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM