OpenCV (1.1.1)opencv.hpp

一、打开opencv.hpp,截取一段

#include "opencv2/core.hpp"

// Then the optional modules are checked
#ifdef HAVE_OPENCV_CALIB3D
#include "opencv2/calib3d.hpp"
#endif
#ifdef HAVE_OPENCV_FEATURES2D
#include "opencv2/features2d.hpp"
#endif
#ifdef HAVE_OPENCV_DNN
#include "opencv2/dnn.hpp"
#endif
#ifdef HAVE_OPENCV_FLANN
#include "opencv2/flann.hpp"
#endif
#ifdef HAVE_OPENCV_HIGHGUI
#include "opencv2/highgui.hpp"
#endif

会发现包含了 core.hpp 和 highgui.hpp

打开core.hpp,截取一段

#include "opencv2/core/cvdef.h"
#include "opencv2/core/version.hpp"
#include "opencv2/core/base.hpp"
#include "opencv2/core/cvstd.hpp"
#include "opencv2/core/traits.hpp"
#include "opencv2/core/matx.hpp"
#include "opencv2/core/types.hpp"
#include "opencv2/core/mat.hpp"
#include "opencv2/core/persistence.hpp"

二、#include

打开 core/core.hpp 

#ifdef __OPENCV_BUILD
#error this is a compatibility header which should not be used inside the OpenCV library
#endif

#include "opencv2/core.hpp"

发现用的就是  opencv2/core.hpp 

三、总结

可以使用 #include  替换 #include

通过代码可知,opencv.hpp 中已经包含了OpenCV各模块的头文件,如高层GUI图形用户界面模块头文件highgui.hpp,图像处理模块头文件imgprogc.hpp。 2D 特征模块头文件features2d.hpp等。
所以,编写程序时原则上用“#include”即可,达到精简代码的作用。
 

你可能感兴趣的:(OpenCV)