vs2010配置OpenCV-2.4.3版本详解,亲测成功

来源:互联网 发布:人工智能论文话题英文 编辑:程序博客网 时间:2024/06/07 03:51

VC 2010 Express下安装OpenCV2.4.3

Wikipedia,自由的百科全书

注意:

  1. 下列文档基于VC2010 Express。
  2. VC 6.0不被OpenCV 2.4.3支持。
  3. VC Express是微软提供的免费版,可从此处下载: VC2010 Express
  4. 建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。

目录

  • 1 安装所需要的软件
    • 1.1 下载OpenCV
  • 2 配置VC
    • 2.1 配置include路径
    • 2.2 配置lib路径
  • 3 设置环境变量
  • 4 使用OpenCV 2.4.3编程
  • 5 作者

[编辑]

安装所需要的软件

[编辑]

下载OpenCV

  1. 从本站下载栏目 http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.4.3.exe 文件)。
  2. 将 OpenCV-2.4.3.exe 解压并放到某个目录下,例如 D:\OpenCV 。解压后的目录结构如下图。
点击看大图
Enlarge
点击看大图
[编辑]

配置VC

[编辑]

配置include路径

也即告诉VC去什么地方寻找OpenCV的头文件。

  • 打开VC++ 2010 Express,创建一个Win32控制台程序opencvtest;
点击看大图
Enlarge
点击看大图
  • 选择Solution Explorer里的opencvtest项目,点击鼠标右键,选择Properties。
点击看大图
Enlarge
点击看大图
  • 依次选择“配置属性”->“VC++目录”->“包含目录”,包含 D:\OpenCV\build\include;D:\OpenCV\build\include\opencv;D:\OpenCV\build\include\opencv2
点击看大图
Enlarge
点击看大图
点击看大图
Enlarge
点击看大图
[编辑]

配置lib路径

也即告诉VC去什么地方寻找OpenCV的库文件。

在刚才下载的文件OpenCV-2.4.3.exe 里,已经为VC2010预先编译好了动态库和静态库。因此我们不需要如早先版本那样,自己用cmake编译OpenCV。

  • 32位系统 & VC2010,库目录为:D:\OpenCV\build\x86\vc10\lib
  • 64位系统 & VC2010,库目录为:D:\OpenCV\build\x64\vc10\lib

请根据自己的情况二选一,将库目录输入“属性”->“配置属性”->“VC++目录”->“库目录” 。如下图所示:

点击看大图
Enlarge
点击看大图
[编辑]

设置环境变量

刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下:

  • 32位系统 & VC2010,dll目录为:D:\OpenCV\build\x86\vc10\bin
  • 64位系统 & VC2010,dll目录为:D:\OpenCV\build\x64\vc10\bin

由于有些函数需要TBB,所以之前的版本需要将tbb所在的目录也加入到环境变量Path中。TBB相关的DLL路径为:

  • 32位系统 & VC2010:D:\OpenCV\build\common\tbb\ia32\vc10
  • 64位系统 & VC2010:D:\OpenCV\build\common\tbb\intel64\vc10

因为2.4.3版本的opencv内嵌了TBB的功能,所以取消了TBB直接安装,这样就不需要再配置TBB环境变量了。

如下图所示将OpenCV的dll文件所在的目录系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。

点击看大图
Enlarge
点击看大图
点击看大图
Enlarge
点击看大图
[编辑]

使用OpenCV 2.4.3编程

  • 选择Solution Explorer里的opencvtest项目,点击鼠标右键,选择Properties。
点击看大图
Enlarge
点击看大图
  • 在配置属性-->[链接器 LINKER]的[输入INPUT]中,为项目的Debug配置增加 [附加依赖项 Additional Dependencies]:

opencv_calib3d243d.lib

opencv_contrib243d.lib

opencv_core243d.lib

opencv_features2d243d.lib

opencv_flann243d.lib

opencv_gpu243d.lib

opencv_highgui243d.lib

opencv_imgproc243d.lib

opencv_legacy243d.lib

opencv_ml243d.lib

opencv_objdetect243d.lib

opencv_ts243d.lib

opencv_video243d.lib (可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“…….lib”

  • 如果下载的OpenCV不是2.4.3版本,请将"XXX243d.lib"中的"243"更改为对应的版本号,例如:下载OpenCV 2.4.0,则统一改为"XXX240d.lib",否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“XXX.lib”
点击看大图
Enlarge
点击看大图
  • 为项目的Release配置增加[附加依赖项 Additional Dependencies]:

opencv_contrib243.lib

opencv_core243.lib

opencv_features2d243.lib

opencv_flann243.lib

opencv_gpu243.lib

opencv_highgui243.lib

opencv_imgproc243.lib

opencv_legacy243.lib

opencv_ml243.lib

opencv_objdetect243.lib

opencv_ts243.lib

opencv_video243.lib (可根据实际需要删减)*

  • 编译运行下面的例程,
  • #include <opencv2/opencv.hpp>


    using namespace std;
    using namespace cv;


    int main()
    {
    const char* imagename = "1.bmp";


    //从文件中读入图像
    Mat img = imread(imagename);


    //如果读入图像失败
    if(img.empty())
    {
    fprintf(stderr, "Can not load image %s\n", imagename);
    return -1;
    }


    //显示图像
    imshow("image", img);


    //此函数等待按键,按键盘任意键就返回
    waitKey();


    return 0;
    }
程序运行结果图,点击看大图
Enlarge
程序运行结果图,点击看大图
0 0
原创粉丝点击