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

來源:互聯網
上載者:User

標籤:

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

Tip

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

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

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)

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

VS內配置Opencv

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

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

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

測試

方案總管 -> 源檔案(右鍵)-> 添加 -> 建立項

Visual C++ -> C++檔案:輸入名稱test點添加

粘貼下面的代碼,儲存:

#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檔案夾)

按F5偵錯工具,如果你的圖片出來了就OK了。

 

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.