我平常的工作要经常使用OpenCV, 就写了一个使用这个库的通用代码。
这个通用代码是common_opencv.h 当使用更新版的OpenCV库时,只需要更改 include 的路径和 CV_LIB_PATH 这个宏。
对于include的路径,需要把opencv2/这个文件夹里opencv.hpp复制到它的上一级目录include/ 下面。
我在后面的博文里面会讲解这个代码里的各个宏。
#ifndef COMMON_OPENCV_H #define COMMON_OPENCV_H #include "d:/opencv/build/include/opencv.hpp" #define CV_LIB_PATH "D:\\opencv\\build\\x86\\vc10\\lib\\" #define CV_VERSION_SHORT CVAUX_STR(CV_MAJOR_VERSION) CVAUX_STR(CV_MINOR_VERSION) CVAUX_STR(CV_SUBMINOR_VERSION) #define CV_MAKE_LIB_NAME(PATH, PREFIX, VERSION, SUFFIX) PATH ## PREFIX ## VERSION ## SUFFIX #ifdef _DEBUG #pragma comment(lib, CV_MAKE_LIB_NAME(CV_LIB_PATH, "opencv_core", CV_VERSION_SHORT, "d.lib")) #pragma comment(lib, CV_MAKE_LIB_NAME(CV_LIB_PATH, "opencv_imgproc", CV_VERSION_SHORT, "d.lib")) #pragma comment(lib, CV_MAKE_LIB_NAME(CV_LIB_PATH, "opencv_highgui", CV_VERSION_SHORT, "d.lib")) #else #pragma comment(lib, CV_MAKE_LIB_NAME(CV_LIB_PATH, "opencv_core", CV_VERSION_SHORT, ".lib")) #pragma comment(lib, CV_MAKE_LIB_NAME(CV_LIB_PATH, "opencv_imgproc", CV_VERSION_SHORT, ".lib")) #pragma comment(lib, CV_MAKE_LIB_NAME(CV_LIB_PATH, "opencv_highgui", CV_VERSION_SHORT, ".lib")) #endif using namespace cv; #endif