• VS2010+OpenCV2.4.6永久性配置方法


    1、 配置OpenCV环境变量

    计算机->(右键)属性,出现如图1所示界面

    单击“高级系统设置”,选中高级(标签)出现如图2所示界面

    单击右下方的“环境变量”,弹出如图3所示界面,注意这里最好用户变量和系统变量都设置一下

    选中path,单击下方“编辑”按钮

    在变量值里面添加” …uildx86vc10in”(里面的…为自己的opencv路径。例如我的: D:ProgramFiles opencvuildx86vc10in; 

    2、 配置VS2010环境

    大家在使用opencv的时候肯定会面对这样一个问题:根据官网以及大多数教程提供的方法中,似乎每一次新建一个opencv的新项目以后都需要重新再配置“VC++目录”中的“包含目录”和“库目录”;以及“链接器”中的“附加依赖项”。这给我们造成了很多的不便,大家都希望寻找一种只需要配置一次opencv环境的方法,下面我就给大家介绍一种简单的方法:

    VS2010中传统配置opencv环境是通过设置项目中的“属性”来完成的。如图5:

    这里就是我们看到的每次都需要进行opencv配置的界面。

    这并不是我们所用的配置环境,在这里我们的配置过程如下:首先确保已经打开一个C++的工程,在IDE中,打开视图->属性管理器(有的是视图->其它窗口->属性管理器,没有什么区别)。展开树形后,你会发现一个名为“Microsoft.Cpp.Win32.user”的项目,如图6:

    右击并点击“属性”后,你会看到一个和工程属性页类似的属性设置框”Microsoft.Cpp.Win32.user属性页”。如图7:

    在以上的属性页中,我们就按照opencv配置的过程进行配置:

    0. 选择“VC++目录”选项;

    0. 将” …opencvuildinclude;…opencvuildincludeopencv;…opencvuildincludeopencv2”,添加到包含目录;(”…”表示opencv安装目录)

    0. 将”…opencvuildx86vc10lib”,添加到库目录;

    1. 打开连接器->输入->附加依赖项;

    将所需的库文件添加到附加依赖项中去:

    对于Debug配置需要添加如下库(我的版本号是2.4.0,并且把所有的库都添加进去了,大家可以视情况而定)

    opencv_calib3d246d.lib;opencv_contrib246d.lib;opencv_core246d.lib;

    opencv_features2d246d.lib;opencv_flann246d.lib;opencv_gpu246d.lib;

    opencv_haartraining_engined.lib;opencv_highgui246d.lib;

    opencv_imgproc246d.lib;opencv_legacy246d.lib;opencv_ml246d.lib;

    opencv_nonfree246d.lib;opencv_objdetect246d.lib;

    opencv_photo246d.lib;opencv_stitching246d.lib;opencv_ts246d.lib;

    opencv_video246d.lib;opencv_videostab246d.lib;

    如果是release配置,则添加:

    opencv_calib3d246.lib;opencv_contrib246.lib;opencv_core246.lib;

    opencv_features2d246.lib;opencv_flann246.lib;opencv_gpu246.lib;

    opencv_haartraining_engine.lib;opencv_highgui246.lib;

    opencv_imgproc246.lib;opencv_legacy246.lib;opencv_ml246.lib;

    opencv_nonfree246.lib;opencv_objdetect246.lib;

    opencv_photo246.lib;opencv_stitching246.lib;opencv_ts246.lib;

    opencv_video246.lib;opencv_videostab246.lib;

    最后点击“确定”就Ok啦!

    3、 用VS2010新建控制台工程测试:

    这里就不详细说了,大家可以新建个空项目,添加C++文件,文件中输入一下代码:

     

    #include <iostream>
    #include <opencv/highgui.h> 
    using namespace std;

    int main()

               IplImage* img = cvLoadImage("test.jpg" ); 
               if(!img)
               {
                          printf("error");
               }
               cvNamedWindow("OpenCV", CV_WINDOW_AUTOSIZE ); 
               cvShowImage("OpenCV", img ); 
               cvWaitKey(0); 
               cvReleaseImage(&img ); 
               cvDestroyWindow("OpenCV" ); 
               return 0;
    }

    点击保存,然后编译运行,会出现图像。注意图片要放到项目文件下的具体工程文件夹下。

    如果编译或者运行出错

    1如果提示找不到cv.lib:

    从网上下载opencv1.0.然后把里面的lib文件夹复制到你的opencv文件夹下;

    然后以VS2010为例,在这个解决方案右键--属性--连接器--常规--设置附加库---添加这个路径.

    2如果提示找不到libgsl.lib,libgslcblas.lib:

    这是因为VS调用了GSL库,GNU Scientific Library (GSL)是一个开源的科学计算的函数库,里面有大量的数学计算 函数,非常强大:  

    在  http://gnuwin32.sourceforge.net/packages/gsl.htm 页面下载 
        Complete package, except sources   Setup 以及 
        Sources                            Setup  分别进行安装 
    在目录D:Program FilesGnuWin32srcgsl 1.8gsl-1.8VC8 ,用VS2010 打开libgsl.sln 文件,在资源管理器中可以看到四个工程,然后F7编译。

    把gsl的lib文件夹下的libgsl.lib,libgslcblas.lib这两个考到vs2010,vc的lib目录下,如果打开gsl的lib目录并没有libgsl.lib,libgslcblas.lib这两个文件。

    解决办法在网上找了下就是:

    打开vs2010的命令提示框,进入gsl库的lib目录下依次输入一下两条语句:
    lib /machine:i386 /def:libgsl.def
    lib /machine:i386 /def:libgslcblas.def
    在看lib目录下,有了libgsl.lib,libgslcblas.lib这两个文件,拷贝到vs2010目录下,就完成了。

    3错误 1 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
    在电脑里面搜索发现

    C:Program FilesMicrosoft Visual Studio 
    10.0VCin

    C:Windowswinsxsx86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7600.16385_none_ba476986f05abc65

    C:WindowsMicrosoft.NETFrameworkv4.0.30319

    这三个路径里面都有cvtres.exe文件,尝试使用第二个路径里面的文件替换第一个路径的文件,问题解决。

    (这个问题是windows自动更新造成编译器cvtres.exe的版本过低,如果windows再次更新,则还可能出现这样的问题,届时再重复一下上述步骤即可。)

  • 相关阅读:
    Shiro自定义密码匹配认证
    logback 发送邮件和自定义发送邮件;java类发送邮件
    webVR全景图多种方案实现(pannellum,aframe,Krpano,three,jquery-vrview)
    前端接受后端文件流并下载的几种方法
    回流(reflow)与重绘(repaint)
    JS数组去重的几种常见方法
    React 生命周期
    浅谈React工作原理
    如何在Vue项目中使用vw实现移动端适配
    移动端web整理 移动端问题总结,移动web遇到的那些坑
  • 原文地址:https://www.cnblogs.com/yymn/p/4481384.html
Copyright © 2020-2023  润新知