OpenCV1.0版(下载)基本上已经是老掉牙了,但是不想装新版,只是因为任性。所以就有了这样一个新老搭配。装完回想起来还是挺简单的,但是还是费了我一晚上,所以有必要记录一下。
先在电脑上装好OpenCV1.0,安装好之后目录如下图:
接下来把bin目录中的文件复制到c盘windows/system32下(如果是64位系统就复制到windows/syswow64)。然后就可以新建项目了,如下图:
创建一个win32控制台应用程序。
接下来设置项目的属性:1.右键点击项目名称,选择“属性”。2.“配置属性”->“c/c++”->“常规”->编辑附加包含目录,添加如图所示的文件夹:
3.“链接器”->“常规”->编辑“附加库目录”:
4.还在“链接器”下,选择“输入”,添加附加依赖项:
注意这些.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; }