参考链接:http://blog.csdn.net/bruce_zeng/article/details/7961153

OpenCv下载链接:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/

下载的是

  • OpenCV-2.2.0-win32-vs2010.exe,傻瓜式安装。安装过程中勾选“Add OpenCV to system PATH for all users”选项。或者安装完后自己添加环境变量。

下载后安装,我的安装目录是“C:\Program Files\OpenCV2.2”。

1. 安装完后在VS2010中新建工程test。

配置属性。

a. 在“属性”-“配置属性”-“VC++目录”中,在“包含目录”中添加三个路径:

  C:\Program Files\OpenCV2.2\include

  C:\Program Files\OpenCV2.2\include\opencv

  C:\Program Files\OpenCV2.2\include\opencv2

添加包含目录的意义在于,程序中包含的库头文件在编译时会到这些目录中去找,不添加的话会报“***.h找不到”。

b. 在“属性”-“配置属性”-“VC++目录”中,在“库目录“中添加路径:

  C:\Program Files\OpenCV2.2\lib

添加库目录路径意义在于,链接过程中需要链接lib文件,而查找目录就是这个。

c. 在“属性”-“配置属性”-”链接器“-”输入“中,添加”附加依赖项“。

  opencv_calib3d220d.lib
  opencv_contrib220d.lib
  opencv_core220d.lib
  opencv_features2d220d.lib
  opencv_ffmpeg220d.lib
  opencv_video220d.lib
  opencv_highgui220d.lib

可以按自己需要有选择的添加。

添加的库会在链接的时候自动链接。

2. 至此opencv环境已经搭好,可以在程序中使用了,新建test.cpp文件,添加代码:

  该程序反色一个图片。

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <cv.h>
#include <highgui.h> int main(int argc, char *argv[])
{
IplImage* img = ;
int height,width,step,channels;
uchar *data;
int i,j,k;
const char * filename ="C:\\Users\\zhu\\Pictures\\new.jpg";
// 载入图像
img = cvLoadImage(filename);
if(!img){
printf("Could not load image file: %s\n", filename);
exit();
}
// 获取图像数据
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\n",height,width,channels);
// 创建窗口
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
cvMoveWindow("mainWin", , );
// 反色图像
for(i=;i<height;i++)
for(j=;j<width;j++)
for(k=;k<channels;k++)
data[i*step+j*channels+k] = - data[i*step + j*channels + k];
// 显示图像
cvShowImage("mainWin", img ); // wait for a key
cvWaitKey();
// release the image
cvReleaseImage(&img );
return ;
}

运行结果:

  上边是程序输出,下边是原图。

  

  

最新文章

  1. 轻量级ORM框架——第一篇:Dapper快速学习
  2. 当类型为dynamic的视图模型遭遇匿名对象
  3. 数据库 之MySQL 简单教程
  4. IT基础架构规划方案之实际网络设计案例
  5. mysqldump的使用
  6. IntelliJ IDEA---java的编译工具【转】
  7. 使用Beanstalkd实现队列
  8. WAMP 403 Forbidden禁止访问 的解决办法
  9. 第六章Linux的文件权限与目录配置
  10. 获取Mac、CPUID、硬盘序列号、本地IP地址、外网IP地址OCX控件
  11. Java判断PC端还是移动端
  12. Conjugate
  13. day5 模拟用户登录
  14. 使用Go语言+Protobuf协议完成一个多人聊天室
  15. redis之数据类型以及使用
  16. linux下mysql的远程访问
  17. OAuth2.0网页授权 提示未关注该测试号
  18. stdClass object 数据获取方法
  19. oracle 多字段去重查询
  20. ubuntu zip解压

热门文章

  1. Springboot使用zuul进行负载均衡
  2. Python generator 类型
  3. 中国萌兔-月饼工厂流水线 -万圣节萌宠-月饼售罄后续-B站东予薏米
  4. postgresql interval 字段拼接
  5. Linunx创建软连接、删除软连接、修改软连接
  6. 官网引用的axios,lodash文件在脚手架中如何使用?
  7. [转][C#]AutoFac 使用方法总结
  8. SQL-W3School-高级:SQL Date 函数
  9. 手把手教你实现RecyclerView的下拉刷新和上拉加载更多
  10. Android中实现日期时间选择器(DatePicker和TimePicker)