在VS2013上配置OpenCV1.0

  OpenCV1.0版(下载)基本上已经是老掉牙了,但是不想装新版,只是因为任性。所以就有了这样一个新老搭配。装完回想起来还是挺简单的,但是还是费了我一晚上,所以有必要记录一下。

        先在电脑上装好OpenCV1.0,安装好之后目录如下图:

QQ图片20150105224436

        接下来把bin目录中的文件复制到c盘windows/system32下(如果是64位系统就复制到windows/syswow64)。然后就可以新建项目了,如下图:

QQ图片20150105225020

        创建一个win32控制台应用程序。

 

        接下来设置项目的属性:1.右键点击项目名称,选择“属性”。2.“配置属性”->“c/c++”->“常规”->编辑附加包含目录,添加如图所示的文件夹:QQ图片20150105225432

        3.“链接器”->“常规”->编辑“附加库目录”:

QQ图片20150105225802

        4.还在“链接器”下,选择“输入”,添加附加依赖项:

QQ图片20150105230058

        注意这些.lib文件名就是OpenCVlib下的文件的名字。

       cv.lib
cvaux.lib
cvcam.lib
cxcore.lib
cxts.lib
cxtsd.lib
highgui.lib
ml.lib

        属性设置完后,写一个hello world,代码是我从网上找的,出处已经找不到了。

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

using namespace std;
int main(int argc, char *argv[])
{
    IplImage* img = 0;
    int height, width, step, channels;
    uchar *data;
    int i, j, k;

    string name = "D://2.bmp";
    // load an image  
    img = cvLoadImage(name.c_str());

    if (!img){
        printf("Could not load image file: %s
",name.c_str());
        //exit(0);
    }

    // get the image data
    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
", height, width, channels);

    // create a window
    cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
    cvMoveWindow("mainWin", 100, 100);

    // invert the image
    for (i = 0; i < height; i++) for (j = 0; j < width; j++) for (k = 0; k < channels; k++)
        data[i*step + j*channels + k] = ~data[i*step + j*channels + k];

    // show the image
    cvShowImage("mainWin", img);

    // wait for a key
    cvWaitKey(0);

    // release the image
    cvReleaseImage(&img);
    return 0;

}
原文地址:https://www.cnblogs.com/ssjie/p/4933932.html