《OpenCV学习笔记》---第一篇 第一个程序

                《OpenCV学习笔记》---第一篇 第一个程序

前言
自学OpenCV,写写笔记,路过的多多指点。

1.OpenCV的安装

OpenCV的安装网上有很多资料,这里就不多提了。我用的是OpenCV2.4.11, 开发工具是VS2010。在编写第一个OpenCV程序的时候遇到的第一个问题就是怎么配置工程。

2.配置工程

我说一下在VS2010下,OpenCV工程的配置。
    Add in the system Path:

    C:\opencv\build\x86\vc10\bin;



    Project->Project Property->Configuration Properties->VC++Directories ->Include Directories:

    C:\opencv\build\include\opencv

    C:\opencv\build\include\opencv2

    C:\opencv\build\include



    Project->Project Property->Configuration Properties->VC++Directories ->Library Directories:

    C:\opencv\build\x86\vc10\lib



    Project->Project Property->Configuration Properties->Linker->Input:

    opencv_calib3d2411.lib
    opencv_contrib2411.lib
    opencv_core2411.lib
    opencv_features2d2411.lib
    opencv_flann2411.lib
    opencv_gpu2411.lib
    opencv_highgui2411.lib
    opencv_imgproc2411.lib
    opencv_legacy2411.lib
    opencv_ml2411.lib
    opencv_nonfree2411.lib
    opencv_objdetect2411.lib
    opencv_ocl2411.lib
    opencv_photo2411.lib
    opencv_stitching2411.lib
    opencv_superres2411.lib
    opencv_ts2411.lib
    opencv_video2411.lib
    opencv_videostab2411.lib
    opencv_calib3d2411d.lib
    opencv_contrib2411d.lib
    opencv_core2411d.lib
    opencv_features2d2411d.lib
    opencv_flann2411d.lib
    opencv_gpu2411d.lib
    opencv_highgui2411d.lib
    opencv_imgproc2411d.lib
    opencv_legacy2411d.lib
    opencv_ml2411d.lib
    opencv_nonfree2411d.lib
    opencv_objdetect2411d.lib
    opencv_ocl2411d.lib
    opencv_photo2411d.lib
    opencv_stitching2411d.lib
    opencv_superres2411d.lib
    opencv_ts2411d.lib
    opencv_video2411d.lib
    opencv_videostab2411d.lib

这样工程就配置好了,可以编写第一个程序了。

3.第一个OpenCV程序。

#include   
#include   
using namespace std;  
#include 
#include 


int main()
{
    const char *pstrImageName = "图.bmp";  
    const char *pstrWindowsSrcTitle = "第一个OpenCV程序";   

    //从文件中读取图像 
    IplImage *pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);  

    //创建窗口  
    cvNamedWindow(pstrWindowsSrcTitle, CV_WINDOW_NORMAL);   

    //在指定窗口中显示图像  
    cvShowImage(pstrWindowsSrcTitle, pSrcImage);  

    //等待按键事件  
    cvWaitKey();  

    cvDestroyWindow(pstrWindowsSrcTitle);
    cvReleaseImage(&pSrcImage); 
    return 0;
}

对主要函数做讲解:
1.cvLoadImage
函数功能:打开图片
函数原型:IplImage* cvLoadImage( const char* filename, int iscolor CV_DEFAULT(CV_LOAD_IMAGE_COLOR))
参数说明:
第一个参数是图片路径,该函数可以读取绝大多数格式类型的图片,包括BMP,DIB,JPEG,JPE,PNG,PBM,PGM,PPM,SR,RAS和TIFF。
第二个参数是指定加载图片的颜色类型,可选参数有:
CV_LOAD_IMAGE_UNCHANGED , 原样输出
CV_LOAD_IMAGE_GRAYSCALE , 转成单通道图输出
CV_LOAD_IMAGE_COLOR, 转成3通道图输出
CV_LOAD_IMAGE_ANYDEPTH, 转成8bit单通道图输出
CV_LOAD_IMAGE_ANYCOLOR , 转成8bit 3通道图输出

2.cvNamedWindow
函数功能:创建窗口
函数原型:int cvNamedWindow( const char* name, int flags CV_DEFAULT(CV_WINDOW_AUTOSIZE) )
参数说明:
第一个参数:窗口名称,也是窗口标识,类似于指针。
第二个参数:窗口属性,可选参数有:
CV_WINDOW_NORMAL ,可手动调节窗口大小
CV_WINDOW_AUTOSIZE ,不可手动调节窗口大小,窗口大小有内容大小决定
CV_WINDOW_OPENGL ,窗口支持OpenGL

3.cvShowImage
函数功能:在指定窗口中显示指定图像
函数原型:void cvShowImage( const char* name, const CvArr* image )
参数说明:
第一个参数:窗口名称
第二个参数:需显示的图片

4.cvWaitKey
函数功能:等待按键事件
函数原型:int cvWaitKey(int delay CV_DEFAULT(0))
参数说明:
第一个参数:延迟毫米数,为0时无限等待
返回值:若超时没有,则返回-1,否则返回被按键的值

5.cvDestroyWindow
函数说明:关闭窗口
函数原型:void cvDestroyWindow( const char* name )
参数说明:
第一个参数:窗口名称
这里提一下函数:void cvDestroyAllWindows(void),可以一次性关闭所有窗口

6.cvReleaseImage
函数说明:释放图像资源
函数原型:void cvReleaseImage( IplImage** image )
参数说明:
第一个参数:图片对象指针

编译,程序运行结果如下:《OpenCV学习笔记》---第一篇 第一个程序_第1张图片

你可能感兴趣的:(OpenCV)