Opencv3.0.0配置

配置Opencv3.0.0

前天,Opencv3.0.0的正式版本发布,不再有奇怪的缺少文件之类的错误,正好最近需要使用它来完成一些神经网络上的辅助,也就尝试了配置,下面记录配置的过程。

准备

  1. Visual Studio 2013
  2. Code::Blocks 13.12
  3. Opencv-3.0.0
  4. CMake3.3.0-rc1-win32-x86

声明

  • 按照自己的喜好来选择第一部分或者第二部分

  • 第一部分 : Visual Studio 2013 配置 Opencv3.0.0

  1. Windows8.1 + 64位
  2. Opencv-3.0.0 的放置路径为 C:\opencv
  3. Visual Studio 工程存放位置为 C:\VSProject 目录下
    • 在此处建议,无论什么路径,都是用英文,并且不要使用空格,如果是操作系统自带的文件路径请看准是否有空格,否则配置这opencv会让你疯狂。
  4. 对于 Visual Studio 2013 来说,我们使用的官方编译好的文件夹所在位置是 vc12,我也不懂为什么,总之就是这样。
  • 第二部分 : Code::Blocks 13.12 配置 Opencv3.0.0
  1. Windows8.1 + 64位
  2. Opencv-3.0.0待编译的源代码路径为 C:\opencv3(由Github上下载)
  3. Opencv编译完成的所有文件放于 C:\opencv\mybuild,即待会使用CMake输出的文件夹。
  4. include 和第一部分相同,不同的只是 libbin 目录,我选择把bin目录全部拷贝到Debug文件夹里。

1 配置 Visual Studio 2013

有了上述两个工具之后,我们就可以着手配置自己的开发环境了,但是先要声明的是,每一个不同的工程项目就需要重新配置一次。

  1. 工程项目是什么?就是 文件 -> 新建 -> 项目,在这里我们点击了项目之后出现一个窗口:

    图片可能不太清晰,但是大概是这么一个回事,修改一下名称,以及存储位置(为了方便)之后,点击 确定 之后 Visual Studio 自动帮你生成一个工程项目,这时候先停下,回到桌面。

    • 打开目录: C:\opencv\build\x64\vc12\bin,查看里面是否有文件,并将目录添加到系统环境变量(PATH)当中,如何添加?
  2. 添加完环境变量以后,我们可以开始下一步的配置,根据第一步所创建的项目,我们打开它的属性管理器,当然很可能的就是你创建完成以后,自动就在这个界面,初始情况下,我们创建的是Win32(x86)的工程,这个时候我们需要做的就是,因地制宜。先前说了我是X86_64,也就是64位操作系统,那么我们就应该让整个环境适配他,(至于32位网上的教程很多)

    • 接下来,右键你的工程,选择 属性,可以很清楚的看见,右上角显示的是Win32,我们的目的是将其改为适配64位的开发环境:

    • 如图所示,点击配置管理器,选择X64,并在外面将目标计算机改成x64
    • 架构问题解决。接下去才是真正的配置步骤。
    • 在属性管理器中,打开你的工程看见四个包含文件夹,删除Win32的两个,留下x64,右键 Debug|x64 文件夹,选择 添加新项目属性表(P)…,保存为 opencv_debug 以后,会发现多了一个属性表文件,如法炮制Release|x64文件夹,接下来的操作直到第五步,其它的两个属性表都一样
    • (opencv_release)
  3. 首先是打开任意一个属性表文件(双击它= =),在 配置属性 -> VC++目录 -> 包含目录 -> <编辑…>之中添加 include 目录,按照我的路径格式,需要添加三个路径分别是:

    C:\opencv\build\include

    C:\opencv\build\include\opencv

    C:\opencv\build\include\opencv2

  4. 其次是,在 配置属性 -> VC++目录 -> 库目录 -> <编辑…>之中添加 lib 目录,按照我的路径格式,需要添加路径是:

    C:opencv\build\x64\vc12\lib


    • 这个便是存放依赖文件的地方,后续会用到。
  5. 最后是,在 配置属性 -> 链接器 -> 输入 -> 附加依赖项 -> <编辑…> 之中添加依赖,对于 Opencv-3.0.0 来说,我们只需要添加两个依赖就足够了,此处分为两部分:

    • 对于Debug|x64,也就是当下我们正在配置的这个属性表,添加两个文件:

      opencv_ts300d.lib

      opencv_world300d.lib

    • 对于 Release|x64的属性表来说,需要添加剩下的两个文件:

      opencv_ts300.lib

      opencv_world300.lib

  6. Ps: 对于其他版本的Opencv的依赖库添加,可以自行打开 lib 文件夹进行查看,不一定需要网上的教程。
  7. 如果不想每次创建工程的时候都这么麻烦,那么我们只需要把两个属性表拷贝出来就行了,下次直接导入即可。
  8. 当两个属性表都配置完成之后,我们就大功告成啦,接下来进入最后一步,测试

测试

属性管理器 的旁边有一个 解决方案资源管理器 ,点击之后,会发现这才是以后工作的场景

  1. 源文件 文件夹中,添加C++源文件,在其中输入测试代码:
#include <iostream> 
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>  

using namespace cv;
using namespace std;
int main()
{
    Mat img = imread("temp.jpg");    

    if (img.empty())
    {
        cout << "error";
        return -1;
    }

    imshow("mypic", img);
    waitKey();

    return 0;
}

保存。

  1. 资源文件 文件夹中,添加图片temp.jpg,随便找一张格式是jpg的图,放进去就行,放进去的方式是 右键资源文件 -> 添加 -> 现有项(G)…,找到你的图片,双击,添加完成。
  1. 点击 生成 -> 生成解决方案 ,之后点击 启动调试 也就是运行的意思。

  2. 很大的几率发现并不能正常的运行,错误提示无法打开PDB文件,查了一下,似乎尿性很高,于是乎有一个解决办法,不是无法打开吗?那就从微软的服务器在线下载过来,这个方法对每个工程都需要进行一次,但是第一次过后就不需要第二次了。请在联网情况下,完成下列操作,具体方法:

    • 依次点击 调试 -> 选项与设置(G)…
    • 之后选择 调试 -> 常规 ,勾选 启动源服务器支持
    • 之后选择 调试 -> 符号 ,勾选 Microsoft服务器支持
    • 中间如果有警告,一律选择是。

2 配置 Code::Blocks 13.12

  • 首先打开安装好的 CMake-gui,在source code一栏加入源文件的路径,也就是下载的opencv里的source,在build binaries一栏加入输出的路径。

  • 点击Tools -> Configure,如图配置:

  • 随后等待进度条,完成之后出现红色的选项,将WITH_IPP选项去掉,之后点击Options -> Sipress dev Warnings,后点击Generate生成makefile文件:
  • 随后等待进度条,完成之后,打开目录C:\opencv\mybuild,双击打开工程文件OpenCV.cbp开始编译,并附上编译后的文件夹图:
  • 编译结束后,如果一切正常,将上图中的bin加入路径
  • 打开Code::Blocks,新建一个Console Application工程,右键工程名字,选择Build Option出现一个新窗口,在其中我们要开始配置Opencv
  • 添加测试文件(和VS的一样)。

结束

就是这样如果还有什么错误的话,不妨去Google看看,比如dll不存在的问题,那一定是你没有把要使用的bin目录加入到系统环境当中

转载注明: www.wushxin.top/2015/06/08/Opencv3配置.html