据说绿坝里的图像识别用的是OpenCV这个库,作为图像处理专业出身的我,免不了对这个东西产生了一些兴趣。下载OpenCV下来用一用,看看这个东西效果如何。

更多的信息,请访问OpenCV的Wiki站点,例如如何在VC里编译OpenCV的官方文档等等。

下面就是我在Windows XP下,用Visual Studio 2005来使用OpenCV库的设置步骤:

第一步,下载和安装OpenCV库,根据操作系统下载相应的版本。

第二步,把OpenCV库的可执行文件路径加到系统的环境变量PATH里,在我这里是C:\Program Files\OpenCV\bin。

第三步,在Visual Studio 2005里进行必要的全局设置:

  1. 在Visual Studio里,选择”Tools -> Options”;

  2. 在弹出的对话框里,再选择”Projects -> VC++ Directories”;

  3. 在上面的对话框里,从”Show Directories for”下拉框里选择”Library files”;

  4. 在Library files列表里, 添加这样一个路径”C:\Program Files\OpenCV\lib”;

4.png
  1. 从2)的对话框里选择”Include Files”下拉框,然后再添加以下目录:

“C:\Program Files\OpenCV\cv\include”
“C:\Program Files\OpenCV\cxcore\include”
“C:\Program Files\OpenCV\otherlibs\highgui”
“C:\Program Files\OpenCV\cvaux\include”
“C:\Program Files\OpenCV\otherlibs_graphics\include”

5.png

  1. 选择下拉框里的”source files”,然后把下面的路径加进去:

“C:\Program Files\OpenCV\cv\src”
“C:\Program Files\OpenCV\cxcore\src”
“C:\Program Files\OpenCV\cvaux\src”
“C:\Program Files\OpenCV\otherlibs\highgui”
“C:\Program Files\OpenCV\otherlibs_graphics\src”

6.png

当然,你应该把上述路径替换成你自己的路径。就这样,Visual Studio 2005里的全局变量就配置好了。

第四步,完成了上述配置,就创建一个OpenCV工程来试一把。

创建一个名叫OpenCVHello的”Win32 Application”或是”Win32 console application”工程,如果想节省编译时间,建议把Precompiled header这个选项给选上。

把以下几个文件include进去,并且要放在stdafx.h文件后面,否则很可能会编译出错。

#include <cv.h>
#include <cxcore.h>
#include <highgui.h>

编译一下,应该可以成功。然后我们在主函数_tmain()输入一些OpenCV代码来试试:

IplImage *img = cvLoadImage(“Image.bmp”);
cvNamedWindow(“Image:”,1);
cvShowImage(“Image:”, img);
cvWaitKey();
cvDestroyWindow(“Image:”);
cvReleaseImage(&img);

编译一下,应该会提示一些链接错误的信息。这个时候,从”Project” -> “Properties”打开项目工程的属性,在”Linker” -> “Input” -> “Additional Dependencies”里添加下面这些lib库:

cxcore.lib cv.lib highgui.lib cvaux.lib cvcam.lib

7.png

这样应该就可以编译了。整个代码看起来就像这样:

8.png

以后有空再深入研究一下OpenCV库的更多用法。