【OpenCV入门教程之一】 OpenCV 2.4.8 +VS2010的开发环境配置

参考http://blog.csdn.net/huang9012/article/details/21811129

自己配置情况

openvc2.4.10

环境变量配置

path

E:\Program Files\opencv2_4_10\build\x86\vc10\bin;

而对于64位系统,可以两个都添加上:

”…… opencv\build\x86\vc10\bin”

和”…… opencv\build\x64\vc10\bin”,

这样,到时候才可以在编译器Win32和X64中来回切换都吃得开,游刃有余~

Library Directories(感觉只需第二个)

E:\Program Files\opencv2_4_10\build\x86\vc10

E:\Program Files\opencv2_4_10\build\x86\vc10\lib

E:\Program Files\opencv2_4_10\build\x86\vc10\staticlib

E:\Program Files\opencv2_4_10\build\x86\vc10\bin

Include Directories

E:\Program Files\opencv2_4_10\build\include

E:\Program Files\opencv2_4_10\build\include\opencv

E:\Program Files\opencv2_4_10\build\include\opencv2

linker-->Input

opencv_ml2410d.lib

opencv_calib3d2410d.lib

opencv_contrib2410d.lib

opencv_core2410d.lib

opencv_features2d2410d.lib

opencv_flann2410d.lib

opencv_gpu2410d.lib

opencv_highgui2410d.lib

opencv_imgproc2410d.lib

opencv_legacy2410d.lib

opencv_objdetect2410d.lib

opencv_ts2410d.lib

opencv_video2410d.lib

opencv_nonfree2410d.lib

opencv_ocl2410d.lib

opencv_photo2410d.lib

opencv_stitching2410d.lib

opencv_superres2410d.lib

opencv_videostab2410d.lib

opencv_objdetect2410.lib

opencv_ts2410.lib

opencv_video2410.lib

opencv_nonfree2410.lib

opencv_ocl2410.lib

opencv_photo2410.lib

opencv_stitching2410.lib

opencv_superres2410.lib

opencv_videostab2410.lib

opencv_calib3d2410.lib

opencv_contrib2410.lib

opencv_core2410.lib

opencv_features2d2410.lib

opencv_flann2410.lib

opencv_gpu2410.lib

opencv_highgui2410.lib

opencv_imgproc2410.lib

opencv_legacy2410.lib

opencv_ml2410.lib

第一个程序

//显示图像文件  
#include <opencv2/opencv.hpp>  
using namespace std;  
  
#pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")  
  
int main()  
{  
    const char *pstrImageName = "1.jpg";  //图片位置E:\Program Files\Microsoft Visual Studio Projects\openvc\openvc.;程序程序当前目录下,需要有图片
	//const char *pstrImageName = "e:/1.jpg"; //指定路径“e:/1.jpg” 
    const char *pstrWindowsTitle = "OpenCV第一个程序";  
  
    //从文件中读取图像  
    IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);  
  
    //创建窗口  
    cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);  
  
    //在指定窗口中显示图像  
    cvShowImage(pstrWindowsTitle, pImage);  
  
    //等待按键事件  
    cvWaitKey();  
  
    cvDestroyWindow(pstrWindowsTitle);  
    cvReleaseImage(&pImage);  
    return 0;  
}

 对代码中的主要函数进行下讲解:

1.创建窗口 cvNamedWindow

函数名称:cvNamedWindow 
函数功能:创建窗口 
函数原型:
int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );

参数说明:
第一个参数表示窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。被创建的窗口可以通过它们的名字被引用。 
第二个参数表示窗口属性标志。目前唯一支持的标志是CV_WINDOW_AUTOSIZE。当这个标志被设置后,用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像。 
函数cvNamedWindow创建一个可以放置图像和trackbar的窗口。

注意:
如果已经存在这个名字的窗口,这个函数将不做任何事情。

2.在指定窗口中显示图像 cvShowImage

函数名称:cvShowImage 
函数功能:在指定窗口中显示图像 
函数原型:
void cvShowImage( const char* name, const CvArr* image );
参数说明:

第一个参数:窗口的名字。 
第二个参数:被显示的图像。 

3.等待按键事件 cvWaitKey

函数名称:cvWaitKey

函数功能:等待按键事件

函数原型:
int cvWaitKey( int delay=0 );
参数说明:

第一个参数:延迟的毫秒数,当delay<=0时表示无限等待。

函数返回值:

如果超过指定时间则返回-1,否则返回被按键的值。