• VS2013配置OpenGL与OpenCV2.4.9的环境


    参考博文http://blog.csdn.net/jialeheyeshu/article/details/51137250 

    梳理一下环境配置的过程吧

    我们主要解决三个问题:

    1.OpenGL;

    2.OpenCV2.4.9;

    3.OpenGL+OpenCV2.4.9的Cmake打包;

    那接下来我们先看看准备的东西:三件物品如上

    因为配置过几次,OpenGL的环境包也一直有,没有的可以找度娘。

    可以下载到的不说这个,同上。

    VS默认编译器是32位,虽然我的电脑是64位,但是我使用了cmake-3.7.2-win32-x86.zip。这个包是gui操作界面,在bin里面。

    上面准备环节做完,下面开始配置吧。个人感觉不是很难,配了好几次了。第一次是在学校同学帮配的,我看着他配的操作,自己在家还是又配置了一天,不过之后就好了吧。cmake第一次接触。

    1.首先把东西放好位置,OpenCV安装,留下一个OpenCV文件;

    2.打开cmake压缩包的gui运行程序

    2.1 输入第一行:选择OpenCV文件里的source文件;输入第二行:准备建立OpenGL+OpenCV环境的文件夹,为存放路径,可以自己新建文件夹;

    2.2 cmake,第一次点击Configue,等待,向下翻,勾选WITH_OPENGL选项;

    2.3 第二次点击Generate,等待,这里生成了在VS中使用的格式为OpenCV.sln的一个解决方案(解决方案刚刚的新建文件夹里面,这是第二次点击后的变化);

    3 打开OpenCV.sln

    3.1 第一步,在解决方案处(68个项目处),右键后点击重新生成解决方案选项,等待;

    3.2 第二步,在第三个文件下的INSTALL处,右键后点击生成选项,等待;这里产生了新的可以用的支持OpenGL的OpenCV的文件,分别为lib文件里的.lib和bin文件里的.dll;

    4 我们要使用的新产生的.lib和.dll,网上教程会包含debug模式下的两种文件和release模式下的两种文件,模式代表你编译和运行代码的不同环境,不展开说明。我这里使用的是VS默认的Debug模式,单单用这个就行。

    5 把产生的.lib和.dll文件覆盖到OpenCV文件(见步骤一)里面对应的.lib和.dll文件;

    6 配置系统的环境变量C:OpenCVopencvuildx86vc12inDebug,这一步的重要性不清楚,没出现问题,就沿着别人的步骤继续走。

    放松点,下面的几个步骤就是步骤,出过的错大都是不细心造成的,这里没必要担心出错了回不去,我来会生成了好几遍,好几遍,苦乐在其中吧。

    1.glut.lib和glut32.lib等这两个静态函数库复制到文件目录的lib文件夹下 X:Program Files (x86)Microsoft Visual Studio 12.0VClib

    2.将glut.dll,glut32.dll等这两个动态库文件放到操作系统目录下面的C:Windowssystem32文件夹内(32位系统)或‪C:WindowsSysWOW64(64位系统)。

    3.将解压得到的头文件glut.h等复制到目录如下目录下:X:Program Files (x86)Microsoft Visual Studio 12.0VCincludeGL

    1.新建工程项目,空项目。一次性配置好环境方便以后不同项目使用,这里其实是配置了一张属性表,新建添加属性页表,再一一配置它的属性页面,配置属性→VC++目录

    包含目录:

    D:opencv3.0opencvuildinclude

    D:opencv3.0opencvuildincludeopencv

    D:opencv3.0opencvuildincludeopencv2

    库目录:

    C:OpenCVopencvuildx86vc12libDebug

    2.配置属性→链接器→附加依赖项

    opencv_ml249d.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
    opengl32.lib
    glut.lib
    glut32.lib
    glu32.lib
    glaux.lib

    好了,就这些。网上的有debug和release两种模式的配置说明,这里给出的是debug模式。有差别,但刚开始的话,只配置debug也够你用的。

    OpenGL+OpenCV测试代码:

    #include<opencv2/opencv.hpp>  
    #include<opencv2/highgui/highgui.hpp>  
    #include<opencv2/core/core.hpp>  
    #include<windows.h>  
    #include<iostream>  
    #include <gl/glu.h>  
    using namespace std;  
    using namespace cv;  
      
    void onDraw(void* param)    
    {    
          
        // Draw something using OpenGL here  
        glClear(GL_COLOR_BUFFER_BIT) ;  
        glColor3f(1.0, 1.0, 1.0) ;   
        glPointSize(5.0f);  
        glBegin(GL_POINTS);//必须是加上s,要不然显示不了  
    //for(int i=0,j=0;i<10;i++,j++)  
    //glVertex2f((GLfloat)i,(GLfloat)j);  
       float start=0.0f;  
       for(int i=0;i<30;i++)  
       {  
        start+=0.01;  
        glVertex2f(start,start);  
       }  
       glEnd();  
       glFlush() ;  
         
    }    
    int main()  
    {  
        Mat mat=imread("1.jpg");  
        imshow("1",mat);  
          
        string openGLWindowName = "OpenGL Test";    
        namedWindow(openGLWindowName, WINDOW_OPENGL);    
        resizeWindow(openGLWindowName, 640, 480);    
        setOpenGlContext(openGLWindowName);    
        setOpenGlDrawCallback(openGLWindowName, onDraw, NULL);    
        
        updateWindow(openGLWindowName); // when needed    
      
        waitKey(0);  
        return 0;  
    }  
  • 相关阅读:
    git 使用
    使用Xcode 7 beta免费真机调试iOS应用程序
    Java类更改常量后编译不生效
    Spring AOP中pointcut expression表达式解析
    awk
    sed
    Servlet 单例多线程
    iOS 运行时添加属性和方法
    Lucene5学习之使用MMSeg4j分词器
    redis
  • 原文地址:https://www.cnblogs.com/Alip/p/6297812.html
Copyright © 2020-2023  润新知