1 先去官网下载OpenCV,这使用的是win 2.3版本的。
http://ncu.dl.sourceforge.net/project/opencvlibrary/opencv-win/2.3/OpenCV-2.3.0-win-superpack.exe
2 下载后,解压文件 D:\OpenCV
3 *.pro文件添加
INCLUDEPATH +=D:\OpenCV\opencv\build\include\opencv2 \
D:\OpenCV\opencv\build\include\opencv \
D:\OpenCV\opencv\build\include
CONFIG(release,debug|release)
{
LIBS += D:\OpenCV\opencv\build\x86\vc10\lib\opencv_calib3d230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_contrib230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_core230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_features2d230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_flann230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_gpu230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_highgui230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_imgproc230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_legacy230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ml230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_objdetect230.lib \
# D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ts230.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_video230.lib
}
CONFIG(debug,debug|release)
{
LIBS +=D:\OpenCV\opencv\build\x86\vc10\lib\opencv_calib3d230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_contrib230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_core230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_features2d230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_flann230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_gpu230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_highgui230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_imgproc230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_legacy230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ml230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_objdetect230d.lib \
# D:\OpenCV\opencv\build\x86\vc10\lib\opencv_ts230d.lib \
D:\OpenCV\opencv\build\x86\vc10\lib\opencv_video230d.lib
}
4 在.h文件里添加
#include<opencv2/opencv.hpp>
using namespace cv;
5 测试程序 图像反色
char* filename="1.png";
int i,j,k;
//载入图像
IplImage * img=cvLoadImage(filename,1);
CvScalar s;
int height= img->height;
int width= img->width;
int channel= img->nChannels;
printf("the image is %d X %d wiht %d channels",height,width,channel);
for(i=0;i<height;i++)
for(j=0;j<width;j++)
{
s=cvGet2D(img,i,j); // get the (i,j) pixel value
for(k=0;k<channel;k++)
s.val[k]=255-s.val[k];
cvSet2D(img,i,j,s); // set the (i,j) pixel value
}
cvNamedWindow( "win", CV_WINDOW_AUTOSIZE);//创建窗口
cvShowImage( "win", img );//显示图像
cvWaitKey(0); //等待按键
cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &img); //释放图像
6 效果图
博客原文:http://blog.youkuaiyun.com/nimingzhe2008/article/details/7474306(修改后,验证无误)
----续
如果只是VS 使用opencv\build\x86\vc10\lib 和opencv\build\include\opencv2作为lib和include
同时在Release模式下,项目属性--附加依赖项里添加
opencv_calib3d230.lib
opencv_contrib230.lib
opencv_core230.lib
opencv_features2d230.lib
opencv_flann230.lib
opencv_gpu230.lib
opencv_highgui230.lib
opencv_imgproc230.lib
opencv_legacy230.lib
opencv_ml230.lib
opencv_objdetect230.lib
opencv_video230.lib
同时在exe目录下添加dll
opencv_core230.dll
opencv_highgui230.dll