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;  
}  
原文地址:https://www.cnblogs.com/Alip/p/6297812.html