• windows8下:OpenCV2.2.0 +VS2005/2008/2010


    1.下载安装CMake 2.8

    2.用cmake配置opencv2.2,然后编译,安装

    3. 在vs2005中配置opencv2.2

    1.下载CMake2.8( 这个版本的opencv要先编译才能用

    地址:http://www.cmake.org/files/v2.8/cmake-2.8.10.2-win32-x86.exe

    直接下载安装。

    2.用cmake配置opencv2.2,然后编译,安装

    a.打开CMake安装目录下的bin中的cmake-gui.exe

    是刚下载的opencv源代码所在的文件夹,

    是要在哪里编译,即编译好的放在哪。

    如下如:


    然后点击:Configure,在弹出的窗口选择:如果你的vs是2005,就选择VisualStudio 8 2005,只有这里改栋,其他默认。

    点击finish后看到下图的效果:


    接下来点:Genertate按钮

    当出现下面的页面时,就可以了,关掉CMake接下来就是:编译了

    找到你刚刚的的文件夹中的sln,

    然后用对应的vs2005打开,如果有多个版本就在打开方式那选择

    (1)编译debug版本,如下图;

    右键点击ALL_BUILD,选择“生成”,时间比较久,耐心等待!!!!

    然后右键点击INSTALL,选择“生成”,即可。

    2)生成release版本,只有一处不同之处,先选定release,其他步骤完全一致。


    编译opencv2.2已经完成,还要配置。

    (3)添加环境变量PATH ,

    右键“我的电脑”出来下面的图片,高级→环境变量

    在path添加:;C:\OpenCV-2.2.0\VS2008\bin

    配置的话看这里:http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1

    特别注意:

    使用OpenCV 2.2编程

    http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1

    • 打开Vs2005 ,创建一个Win32控制台程序opencvhello;
    • 选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中:
    • 为项目的Debug配置增加 [依赖的库 Additional Dependencies]:cxcore200d.lib cv200d.lib highgui200d.lib(注意,文件名cv200d.lib 可能是cv***d.lib等形式,具体应查看D:\Program Files\OpenCV2.0\vc2008\lib。如果使用的是OpenCV2.1,应输入:cxcore210d.lib cv210d.lib highgui210d.lib )
    • 为项目的Release配置增加[依赖的库 Additional Dependencies]:cxcore200.lib cv200.lib highgui200.lib (注意:如果使用的是OpenCV2.1,应输入:cxcore210.lib cv210.lib highgui210.lib)
    • 在 [配置属性 Configuration Properties]- [General] -[字符集 Character Set] 修改为使用“多字节字符集” (由于2008默认是以Unicode字符集编译的)
    • 编译运行下面的例程(需要将lena.jpg文件放在项目目录下)。
    /***********************************************************************
     * OpenCV 2.0 测试例程
     * 于仕琪 提供
     ***********************************************************************/   #include "stdafx.h" #include "highgui.h"   //所有的以新风格命名的函数都在 cv 命名空间中 //如果希望不要每次都输入 cv:: ,则可使用下面语句 //using namespace cv;   int _tmain(int argc, _TCHAR* argv[]) {   const char* imagename = "lena.jpg";  
    	cv::Mat img = cv::imread(imagename); // Matlab风格的 cvLoadImage 函数的另一种调用 if(img.empty()) { fprintf(stderr, "Can not load image %s\n", imagename); return -1; }   if( !img.data ) // 检查是否正确载入图像 return -1;  
    	cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口 cv::imshow("image", img); //显示图像  
    	cv::waitKey();   return 0; }
  • 相关阅读:
    面试官:重写 equals 时为什么一定要重写 hashCode?
    MyBatis 中为什么不建议使用 where 1=1?
    面试官:方法重写时需要注意哪些问题?
    Java中List排序的3种方法
    面试官:this和super有什么区别?this能调用到父类吗?
    面试官:int和Integer有什么区别?为什么要有包装类?
    HashMap 中的一个“坑”!
    Java 中接口和抽象类的 7 大区别!
    List 去重的 6 种方法,这个方法最完美!
    面试官:如何实现 List 集合去重?
  • 原文地址:https://www.cnblogs.com/dakou/p/2975330.html
Copyright © 2020-2023  润新知