现在的位置: 首页 > 综合 > 正文

【亲测】64位win8.1系统+VS2010+OpenCV2.4.8

2018年11月01日 ⁄ 综合 ⁄ 共 4390字 ⁄ 字号 评论关闭

        本人喜欢研究图像处理,也很喜欢matlab软件,然而,matlab虽然入门简单,容易掌握。但是,其运行效率以及工业界的使用范围远远不及OpenCV。这几天,本人通过搜索大量网络资料,并亲自测试,终于找到了一套完整的环境配置方案。希望能够对OpenCV的初学者有所帮助。

      请在阅读本文时,务必注意OpenCVVS的版本问题。因为不同的版本,配置过程也是略有区别的。OpenCV使用的是OpenCV2.4.8(既然有最新的版本,为什么还要用旧的?就好像,明明已经有了打火机,你还非要用钻木取火的方式点火吗?搞电脑的最需要有紧跟时代步伐的意识)。好了,进入正题。

本文主要内容:

一、下载OpenCV2.4.8

二、设置环境变量

三、对VS2010的环境配置

四、测试程序

五、运行结果

一、下载OpenCV2.4.8

      1. 下载 OpenCV for Windows(也即 OpenCV-2.4.8.exe 文件,这个软件网上有很多的)图标应该是这样的:


      2. 
OpenCV-2.4.8.exe
解压并放到某个目录下,例如 D:\Program
Files (x86)\OpenCV2.4.8
(本人的解压目录)。


二、设置环境变量

      1. 右键单击“我的电脑”-->“属性”-->“高级系统设置”-->“环境变量” 如下图所示:


       2. 系统变量设置(注意:好多网络教材都设置了用户变量,为了减少操作步骤,本人并没有设置,而是只设置系统变量。)

          (1)设置系统变量PATH

         选中PATH,单击编辑。PATH的末尾添加以下路径:

             D:\Program Files (x86)\OpenCV2.4.8\opencv\build\x86\vc10\bin 
 


 注意:1、要在该路径前添加英文分号;,以与前面的路径隔开,但该路径末尾不可加英文分号;,除非还要在其后添加路径;

             2、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;

             3、最为关键的一点:本人使用的虽然是64位系统,但是,并没有设置成opencv\build\x64\vc10\bin,而是设置成opencv\build\x86\vc10\bin。

             4、路径中的VC10是和VS的版本号有关的。vc10,vc11, vc12 分别表示VS2010, VS2012, VS2013的Visual Studio使用的编译器版本,根据自己的VS版本来填写正确的编译器版本号。

          (2)在系统变量中新建OpenCV变量

单击新建,在弹出的对话框中,将变量名(可以自己定义)和变量值分别设置为OPENCV和D:\Program Files (x86)\OpenCV2.4.8\opencv\build。你要根据自己安装的路径来选择,找到opencv文件下的build即可。
            

注意:设置完环境变量,需要重启电脑,才能生效。

三、对VS2010的环境配置

       配置VS2010,亦即告诉VC去什么地方寻找OpenCV的头文件和库。打开VS2010,选择菜单“工具”→“选项”→“项目和解决方案”→“VC++目录”,在VS2010中打开此选项,如下图所示,显示编辑功能被否决。

          可以在具体的项目中,对特定的项目单击右键→属性来设置,只是这样的设置无法被继承,每一个项目都需要单独设置,太过繁琐,因此需要一个能够被继承的全局设置,方法如下:

要求:确保VS2010中至少有一个工程被打开。这里采用新建一个工程的办法,以便后面测试程序。

       1.新建一个VS项目

        (1)打开VS2010,新建项目→win32控制台项目→确定。

                  在这里,我给项目命名为lena,位置是在:OpenCV下新建的一个                          OpenCVProject文件夹中。

    (2)选择“下一步”


    (3)选择“空项目”,再单击“完成”。


    2.设置VS项目的调用路径

    (1)点击“视图”→“属性管理器”,如下图所示。


    (2)从左侧项目中打开“Debug|Win32”→“Microsoft.Cpp.Win32.user”,双 击“Microsoft.Cpp.Win32.user”,弹出如下图所示的窗口。

    (3)点击左侧VC++目录,编辑右侧的“可执行文件目录”、“包含目录”与“库目录“,分别添加对应的路径。

   对应的路径如下:

     1)可执行文件目录

     D:\Program Files(x86)\OpenCV2.4.8\opencv\build\x86\vc10\bin

   说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\bin文件夹所在的路径;

         2、即使是64位系统,也要选择 opencv\build\x86\,切记!!

     2)包含目录

     D:\Program Files(x86)\OpenCV2.4.8\opencv\build\include

     D:\Program Files(x86)\OpenCV2.4.8\opencv\build\include\opencv

     D:\Program Files(x86)\OpenCV2.4.8\opencv\build\include\opencv2

   说明:1、可根据自己的情况,将其分别改为你的opencv\build\include、opencv\build\include\opencv和              opencv\build\include\opencv2文件夹所在的路径;

         2、这里的include目录为build文件夹下的include目录,不要选成与build文件夹在同一个根目录下的那个            include文件夹。

     3)库目录

     D:\Program Files (x86)\OpenCV2.4.8\opencv\build\x86\vc10\lib

    说明:1、可根据自己的情况,将其改为你的opencv\build\x86\vc10\lib文件夹所在的路径;

          2、即使是64位系统,也要选择x86。

   (4)附加依赖项

     1)单击“链接器”→“输入”→“附加依赖项”,如下图所示。

    注意:“添加依赖项”是最容易出错的,因为不同的VS版本的配置是有区别的。比如,VS2008中xx.lib之间用空格键(应该是英文状态的空格,本人没有亲自试验),而VS2010用分号隔开(英文状态下的分号,本人亲自测试过)。本人使用的是VS2010的设置方法。


     2)如下图所示,在附加依赖项里,添加opencv\build\x86\vc10\lib文件夹里的lib文件名称:

    注意:不要被上面的图片误导,图片中每个.lib之间好像是回车隔开的,其实不是。你只需要把下面的内容复制进去即可。当然,你的OpenCV必须是2.4.8版本,如果不是,就需要把248改成你相应的OpenCV的版本号。比如,你用的是OpenCV2.4.4,就要把248完全改成244。最后的几个“32“不用改。

附加依赖项:

opencv_calib3d248d.lib;opencv_contrib248d.lib;opencv_core248d.lib;opencv_features2d248d.lib;

opencv_flann248d.lib;opencv_gpu248d.lib;opencv_highgui248d.lib;opencv_imgproc248d.lib;

opencv_legacy248d.lib;opencv_ml248d.lib;opencv_nonfree248d.lib;opencv_objdetect248d.lib;

opencv_photo248d.lib;opencv_stitching248d.lib;opencv_ts248d.lib;opencv_video248d.lib;

opencv_videostab248d.lib;opencv_calib3d248.lib;opencv_contrib248.lib;opencv_core248.lib;

opencv_features2d248.lib;opencv_flann248.lib;opencv_gpu248.lib;opencv_highgui248.lib;

opencv_imgproc248.lib;opencv_legacy248.lib;opencv_ml248.lib;opencv_nonfree248.lib;

opencv_objdetect248.lib;opencv_photo248.lib;opencv_stitching248.lib;opencv_ts248.lib;

opencv_video248.lib;opencv_videostab248.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;

comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib

     说明:上面的库为opencv\build\x86\vc10\lib里面的库文件,文件名后面有小写字母“d”的为Debug库(调试模式   库),没有“d”的为Release库(发布模式库)。

四、测试程序
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace cv;

int main()
{
 // 读入一张图片(游戏原画)
 Mat img=imread("whu.jpg");
 // 创建一个名为 "原画"窗口
 namedWindow("原画");
 // 在窗口中显示原画
 imshow("原画",img);
 // 等待6000 ms后窗口自动关闭
 waitKey(6000);
}

五、运行结果

六、参考文献
    (1)OpenCV中文论坛“VC 2010下安装OpenCV2.4.4”。
    (2)博客 :关于在Visual Studio 2008/2010 和Opencv平台下出现LINK : fatal error


(转载请注明作者和出处http://blog.csdn.net/liuqinglong110/article/details/30051219  未经允许请勿用于商业用途)





抱歉!评论已关闭.