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,否則返回值爲鍵盤按下的碼字。