初学OpenCV时,应该先了解一下OpenCV的整体模块架构,再重点学习和突破自己感兴趣的部分,就会有得心应手,一览众山小的学习体验。
进入到...\opencv\build\include 目录,可以看到opencv和opencv2这两个文件夹。opencv这个文件夹里面包含着旧版的头文件,opencv2这个文件夹里面包含着新版OpenCV2系列的头文件。
在opencv这个文件夹里面,也就是...\opencv\build\include\opencv 目录下,可以看到如下头文件。这里面大概就是OpenCV1.0最核心的,而且保留下来的内容的头文件。我们可以把它们理解为一个大的组件。
然后是opencv2文件夹,在...\opencv\build\include\opencv2 目录下,可以看到如下图所示的文件夹。
opencv_modules.hpp文件里面存放的是OpenCV2中与新模块构造相关的说明代码,打开可以发现其定义的是OpenCV2所有组件的宏,具体如下:
#define HAVE_OPENCV_CALIB3D
#define HAVE_OPENCV_CONTRIB
#define HAVE_OPENCV_CORE
#define HAVE_OPENCV_FEATURES2D
#define HAVE_OPENCV_FLANN
#define H