zoukankan      html  css  js  c++  java
  • OpenCV学习笔记(01)我的第一个OpenCV程序(环境配置)

    昨天刚刚考完编译原理,私心想着可以做一些与考试无关的东西了。一直想做和图像处理相关的东西,趁这段时间有空学习一下OpenCV,搭建环境真是一件麻烦的事情,搞了近三个小时终于OK了。先来张图:

    image

    大致描述一下步骤吧:

    一、安装前准备

    1、VS2012(网上看到很多用的VS2010,但是基本不影响)

    2、OpenCV 安装包(我下载的是最新的2.4.9)

    image

    二、安装OpenCV

        1、解压OPenCV

         说是安装,其实就是解压,OpenCV的Windows安装程序就是一个自解压程序:

    image

    这里我解压到C:Program Files(你也可以解压到你喜欢的目录下面)

    image

    解压后会自动创建opencv目录,不需要手动创建。解压后的大小大约3.7G,解压需要保证足够的空间:

    image

        2、配置环境变量

    计算机->属性->搞基系统设置->环境变量

    image

    在Path后面添加:C:Program Filesopencvuildx86vc12in 注意环境变量是以英文分号(;)分隔的.

    三、创建一个测试工程

    1、在VS2012中创建一个VC++空项目

    image

    2、新建一个C++文件,命名为:Test.cpp

    image

    将下面的代码复制到Test.cpp文件中

      1: #include<iostream>
      2: #include <opencv2/core/core.hpp>
      3: #include <opencv2/highgui/highgui.hpp>
      4: 
      5: 
      6: using namespace cv;
      7: 
      8: 
      9: int main()
     10: {
     11: 	// 读入一张图片(游戏原画)
     12: 	Mat img=imread("D:\xiaoxi.jpg");
     13: 	// 创建一个名为 "游戏原画"窗口
     14: 	cvNamedWindow("游戏原画");
     15: 	// 在窗口中显示游戏原画
     16: 	imshow("游戏原画",img);
     17: 	// 等待10000 ms后窗口自动关闭
     18: 	waitKey(10000);
     19: 
     20: }

    3、工程配置

    这时候你会看到一堆的错误,没关系,下面对工程进行配置:

    (1)、右键工程->属性

    image

    image

    分别配置包含目录和库目录:

    image

    image

    这个包含目录和库的路径根据你的解压路径确定,我的opencv是解压到C:Program Files文件下。

    注意:设置库的路径的时候需要根据你的VS版本进行选择我的是32位VS2012,故选择x86vc12下面的lib,如果你是vs2010则应该选择相应平台下的vc10下的lib.

    image

        (2)、附加依赖项:

                image

    将下面的.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_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_ml249d.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

    注意:不要有空行和空格

    image

    (3)、修改一下源代码

    你应该看到源代码中有一行

    Mat img=imread("D:\xiaoxi.jpg");

    这是我的电脑中的一张图片,所以你应该在相应的目录下放一张图片,名字随便啦,注意的是路径“”要为“\”。

    image

    四、大功告成

    点击image

    执行你就会看到我在本文开始的时候展示的效果啦。

    五、问题记录

    中途我也遇到了不少的问题:

    【问题一】:

    image

    原因是缺少MSVCR120D.dll

    【解决】:

    下载msvcr120d.dll然后将其拷贝到“C:WindowsSystem32”打开命令提示符(以管理员方式运行)

    image

    执行:image

    regsvr32 C:WindowsSystem32msvcr120d.dll

    还有其他的问题,不过只要按照我给的步骤去配置,一般不会出现什么大的问题。

    不过,请相信一次性成功的概率还是很小的。遇到说明问题baidu一下,今本上就能解决了。

    最后在配置的过程中参照了下面的文章:

    文章一:【OpenCV入门教程之一】 安装OpenCV:OpenCV 2.4.8或OpenCV 2.4.9 +VS 开发环境配置

    文章二:How to build applications with OpenCV inside the Microsoft Visual Studio

     

  • 相关阅读:
    java编译错误No enclosing instance of type TestFrame is accessible. Must qualify the allocation with an enclosing instance of type TestFrame (e.g. x.new A(
    java 2中创建线程方法
    动态规划基本思想
    关于eclipse编译一个工程多个main函数
    java Gui初识
    Eclipse中java项目的打包
    java 播放声音
    把资源文件夹导入到eclipse中
    Java建立JProgressBar
    How to grant permissions to a custom assembly that is referenced in a report in Reporting Services
  • 原文地址:https://www.cnblogs.com/csulennon/p/3758234.html
Copyright © 2011-2022 走看看