使用OpenCV 2.0编程
- 打开VC++ 2008 Express,创建一个Win32控制台程序opencvhello;
- 选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中:
- 为项目的Debug配置增加 [依赖的库 Additional Dependencies]:cxcore200d.lib cv200d.lib highgui200d.lib(注意,文件名cv200d.lib 可能是cv***d.lib等形式,具体应查看D:\Program Files\OpenCV2.0\vc2008\lib。如果使用的是OpenCV2.1,应输入:cxcore210d.lib cv210d.lib highgui210d.lib )
- 为项目的Release配置增加[依赖的库 Additional Dependencies]:cxcore200.lib cv200.lib highgui200.lib (注意:如果使用的是OpenCV2.1,应输入:cxcore210.lib cv210.lib highgui210.lib)
- 在 [配置属性 Configuration Properties]- [General] -[字符集 Character Set] 修改为使用“多字节字符集” (由于2008默认是以Unicode字符集编译的)
- 编译运行下面的例程(需要将lena.jpg文件放在项目目录下)。
- /***********************************************************************
- * OpenCV 2.0 测试例程
- ***********************************************************************/
- #include "stdafx.h"
- #include "highgui.h"
- //所有的以新风格命名的函数都在 cv 命名空间中
- //如果希望不要每次都输入 cv:: ,则可使用下面语句
- //using namespace cv;
- int _tmain(int argc, _TCHAR* argv[])
- {
- const char* imagename = "lena.jpg";
- cv::Mat img = cv::imread(imagename); // Matlab风格的 cvLoadImage 函数的另一种调用
- if(img.empty())
- {
- fprintf(stderr, "Can not load image %s\n", imagename);
- return -1;
- }
- if( !img.data ) // 检查是否正确载入图像
- return -1;
- cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口
- cv::imshow("image", img); //显示图像
- cv::waitKey();
- return 0;
- }