1、安装OpenCV
注意安装路径可以不选C盘,注意下面的路径都要改;
从http://www.opencv.org.cn 下载OpenCV安装程序。假如要将OpenCV安装到C:\ProgramFiles\OpenCV。(下面附图为OpenCV 1.0rc1的安装界面,OpenCV 1.0安装界面与此基本一致。)在安装时选择"将\OpenCV\bin加入系统变量"(Add\OpenCV\bin to the systerm PATH)。
2、配置Windows环境变量
检查C:\Program Files\OpenCV\bin是否已经被加入到环境变量PATH,如果没有,请加入。加入后需要注销当前Windows用户(或重启)后重新登陆才生效。(可以在任务管理器里重启explorer.exe)
PATH
C:\ProgramFiles\OpenCV\bin
3、配置Visual C++ 6.0
全局设置
菜单Tools->Options->Directories:先设置lib路径,选择Library files,在下方填入路径:
C:\ProgramFiles\OpenCV\lib
然后选择include files,在下方填入路径:
C:\ProgramFiles\OpenCV\cxcore\include
C:\ProgramFiles\OpenCV\cv\include
C:\ProgramFiles\OpenCV\cvaux\include
C:\ProgramFiles\OpenCV\ml\include
C:\ProgramFiles\OpenCV\otherlibs\highgui
C:\ProgramFiles\OpenCV\otherlibs\cvcam\include
然后选择source files,在下方填入路径:
C:\ProgramFiles\OpenCV\cv\src
C:\ProgramFiles\OpenCV\cxcore\src
C:\ProgramFiles\OpenCV\cvaux\src
C:\ProgramFiles\OpenCV\otherlibs\highgui
C:\ProgramFiles\OpenCV\otherlibs\cvcam\src\windows
最后点击“ok”,完成设置。
4、项目设置
每创建一个将要使用OpenCV的VC Project,都需要给它指定需要的lib。菜单:Project->Settings,然后将Settingfor选为All Configurations,然后选择右边的link标签,在Object/librarymodules附加上
cxcore.libcv.lib ml.lib cvaux.lib highgui.lib cvcam.lib
可以用这三句替代上面的项目设置
#pragma comment(lib, "cv.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"highgui.lib")
如果你不需要这么多lib,你可以只添加你需要的lib。
例子
#include<cv.h>
#include<highgui.h>
#pragma comment(lib, "cv.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"highgui.lib")
IplImage*doPyrDown(IplImage *image,int fliter)
{
IplImage *out;
//assert(image->width%2==0&&image->height%2==0);
out=cvCreateImage(cvSize(image->width/2,image->height/2),image->depth,image->nChannels);
cvPyrDown(image,out,IPL_GAUSSIAN_5x5);
return (out);
}
void main()
{
IplImage* doPyrDown();
IplImage* image;
IplImage *iout1,*iout2;
cvNamedWindow( "input", 1 );
cvNamedWindow( "output", 1 );
image =cvLoadImage("image.jpg",0);//加载一副图像或者读取一幅图像后面的0表示//单通道灰度图像,1表示多通道彩色图像。
cvShowImage("input", image );//显示图像
iout1=doPyrDown(image,IPL_GAUSSIAN_5x5);
iout2=doPyrDown(iout1,IPL_GAUSSIAN_5x5);
cvShowImage("output", iout2 );
cvWaitKey(0);//如下面的解释
cvReleaseImage( &iout1 );//释放原先创建的IplImage图像
cvReleaseImage( &iout2 );
cvDestroyAllWindows();
}
cvWaitKey(0):
返回值为int型,函数的参数为int型,当delay小于等于0的时候,如果没有键盘触发,则一直等待,此时的返回值为-1,否则返回值为键盘按下的码字;当delay大于0时,如果没有键盘的的触发,则等待delay的时间,此时的返回值是-1,否则返回值为键盘按下的码字。