首页 > 代码库 > OpenCV安装和测试

OpenCV安装和测试

 

 

参考链接:http://blog.csdn.net/bruce_zeng/article/details/7961153

OpenCv下载链接:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/

下载的是

  • OpenCV-2.2.0-win32-vs2010.exe,傻瓜式安装。安装过程中勾选“Add OpenCV to system PATH for all users”选项。或者安装完后自己添加环境变量。

下载后安装,我的安装目录是“C:\Program Files\OpenCV2.2”。

1. 安装完后在VS2010中新建工程test。

配置属性。

a. 在“属性”-“配置属性”-“VC++目录”中,在“包含目录”中添加三个路径:

  C:\Program Files\OpenCV2.2\include

  C:\Program Files\OpenCV2.2\include\opencv

  C:\Program Files\OpenCV2.2\include\opencv2

添加包含目录的意义在于,程序中包含的库头文件在编译时会到这些目录中去找,不添加的话会报“***.h找不到”。

b. 在“属性”-“配置属性”-“VC++目录”中,在“库目录“中添加路径:

  C:\Program Files\OpenCV2.2\lib

添加库目录路径意义在于,链接过程中需要链接lib文件,而查找目录就是这个。

c. 在“属性”-“配置属性”-”链接器“-”输入“中,添加”附加依赖项“。

  opencv_calib3d220d.lib
  opencv_contrib220d.lib
  opencv_core220d.lib
  opencv_features2d220d.lib
  opencv_ffmpeg220d.lib
  opencv_video220d.lib
  opencv_highgui220d.lib

可以按自己需要有选择的添加。

添加的库会在链接的时候自动链接。

2. 至此opencv环境已经搭好,可以在程序中使用了,新建test.cpp文件,添加代码:

  该程序反色一个图片。 

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h>

int main(int argc, char *argv[])
{
    IplImage* img = 0; 
    int height,width,step,channels;
    uchar *data;
    int i,j,k;
    const char * filename ="C:\\Users\\zhu\\Pictures\\new.jpg";
    // 载入图像
    img = cvLoadImage(filename);
    if(!img){
        printf("Could not load image file: %s\n", filename);
        exit(0);
    }
    // 获取图像数据
    height = img->height;
    width = img->width;
    step = img->widthStep;
    channels = img->nChannels;
    data = (uchar *)img->imageData;
    printf("Processing a %dx%d image with %d channels\n",height,width,channels); 
    // 创建窗口
    cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); 
    cvMoveWindow("mainWin", 100, 100);
    // 反色图像
    for(i=0;i<height;i++) 
        for(j=0;j<width;j++) 
            for(k=0;k<channels;k++)
                data[i*step+j*channels+k] = 255 - data[i*step + j*channels + k];
    // 显示图像
    cvShowImage("mainWin", img );

    // wait for a key
    cvWaitKey(0);
    // release the image
    cvReleaseImage(&img );
    return 0;
}  

 

运行结果:

  上边是程序输出,下边是原图。