您的位置:首页 > 运维架构

VS2013下配置OpenCV 3.0.0 &&& VS2013下配置Opencv2.4.9

2015-10-13 10:01 645 查看
最近做图像需要用到Matlab和OpenCV,一些东西真的是要深入的研究进去才会有所发现,但Matlab和C++都不是我擅长的语言,所以要很加油很加油才行啊!!

步入正题。

1. 环境:Win7 64位 + Visual Studio 2013 Community + OpenCV 3.0.0

2. 安装VS 2013 Community版本。 —— 到VS官网https://www.visualstudio.com/zh-cn/downloads/download-visual-studio-vs.aspx选择对应版本下载,记住要下载ISO不要下载web版本哦。

3. 到OPenCV官网http://opencv.org/下载Windows版本的OpenCV 3.0.0版,然后解压到相应文件夹,如我的是“C:\Park_Software\opencv”。

4. 配置电脑的环境变量。在“计算机”下右键,然后“属性”-》“高级系统设置”-》(注意:更改的是系统变量)“环境变量”-》“新建”-》“变量名:OPENCV; 变量值:C:\Park_Software\opencv\build”; -》找到“PATH”-》“编辑”-》加入“;%OPENCV%\x86\vc12\bin”.

5. 找到解压后的OpenCV文件夹,然后进入根目录,新建文件opencv300.props,写入如下代码:(这些代码是方便配置VS中的信息,每次新建Project时,只需将该文件加载进去即可,不必再繁琐的设置一些属性表)

<?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\staticlib;$(OPENCV)\x86\vc12\lib;$(LibraryPath)</LibraryPath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc12\staticlib;$(OPENCV)\x64\vc12\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_ts300.lib;opencv_world300.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;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_ts300d.lib;opencv_world300d.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;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>


6. 下面开始对VS中的项目进行配置。

7. 新建一个空的Visual C++控制台程序,然后在“属性管理器”窗口下(如没有属性管理器窗口,则应该到“视图”-》“其他窗口”-》“属性管理器”)右键刚刚建立的项目,然后“添加现有属性表”,找到刚刚写好的“opencv300.props”加入即可。

8. 下面开始写读取图像的一个小程序。在源文件中新建一个.cpp文件,写入以下代码:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{

Mat image;
image = imread("G:\\1.jpg", IMREAD_COLOR); // Read the file(your own image route)

if (!image.data) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}

namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display.
imshow("Display window", image); // Show our image inside it.

waitKey(0); // Wait for a keystroke in the window
return 0;
}


9. 本地Windows调试器,然后编译运行即可。

——————————————————————————————————————------------———————分割线呀分割线—————————————————————--------------------------————————————————————————————————————————

(2015/10/18更新)

按照上述步骤配置好了OpenCV3.0版本,但是2.X版本中有很多现成的方法有所改变,很难使用,所以我最终还是决定使用稳定的2.X版本。这里记录一下自己更改OpenCV版本的全过程,方便自己以后查看或者给有同样需要的网友share一下。(总体修改过程参照浅墨大神的书籍《OpenCV3编程入门》及博客http://blog.csdn.net/huang9012/article/details/21811129

1. 环境:win7 64位 + VS2013 + OpenCV2.4.9

2.将原来的OpenCV解压后的文件夹删除。然后到OpenCV官网http://opencv.org/,下载低版本的安装包,然后解压到相应文件夹,如我的是“C:\Park_Software\opencv”。

3. 配置电脑的环境变量。在“计算机”下右键,然后“属性”-》“高级系统设置”-》(注意:更改的是系统变量)“环境变量”-》“新建”-》“变量名:OPENCV; 变量值:C:\Park_Software\opencv\build”; -》找到“PATH”-》“编辑”-》加入“;%OPENCV%\x86\vc12\bin”.

4. 下面开始对VS中的项目进行配置,以前不想用2.X版本是因为看了很多网友的博客发现每次新建项目都要进行配置,觉得太过繁琐,还好发现浅墨大神的书,然后按照书中的步骤一步步配置好后,以后新建项目都无需再配置,具体过程如下:

新建一个空的Visual C++控制台程序,然后“属性管理器”窗口下(如没有属性管理器窗口,则应该到“视图”-》“其他窗口”-》“属性管理器”)右键刚刚建立的项目,在新出现的“属性管理器文件夹”中,展开【Debug|win32】文件夹,对文件夹中【Microsoft.CPP.Win32.userDirectories】进行右键属性操作。

在【通用属性】-》【VC++目录】-》【包含目录】中添加以下三项目录(到自己具体的解压目录中找到build\include目录,然后复制进去即可):

C:\Park_Software\opencv\build\include\opencv2
C:\Park_Software\opencv\build\include\opencv
C:\Park_Software\opencv\build\include


在【通用属性】-》【VC++目录】-》【库目录】中添加路径:

C:\Park_Software\opencv\build\x86\vc12\lib
C:\Park_Software\opencv\build\x86\vc12\staticlib


在【通用属性】-》【链接器】-》【输入】-》【附加的依赖项】中添加lib(顺序是:19个带d的debug版的lib放在前面,19个不带d的release版的lib写在后面,即优先支持debug模式的编译运行)

opencv_ml249d.lib
opencv_calib3d249d.lib
opencv_contrib249d.lib
opencv_core249d.lib
opencv_features2d249d.lib
opencv_flann249d.lib
opencv_gpu249d.lib
opencv_highgui249d.lib
opencv_imgproc249d.lib
opencv_legacy249d.lib
opencv_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib


重启电脑,然后进行最终测试。

新建一个源程序,输入如下代码并且在源程序的根目录下放入一张名为“1.jpg”的图片:

#include <opencv2/opencv.hpp>

using namespace cv;

int main() {
Mat img = imread("1.jpg");
imshow("载入的图像", img);
waitKey(0);
}


运行,并成功显示图片,至此配置结束。

常见错误:

  无法打开文件“opencv_ml249.lib”系列错误:多半是加入的有问题,详细检查【链接器】-》【输入】-》【附加的依赖项】中添加的lib是否正确。

找不到“core.h”错误:注意配置include时是在build文件夹下面的include文件夹,而不是opencv根目录下面的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: