1、C++
OpenCV在C++中的版本号在<opencv2/core/version.hpp>里面,贴出部分和版本相关的定义
// opencv2 #define CV_VERSION_EPOCH 2 #define CV_VERSION_MAJOR 4 #define CV_VERSION_MINOR 13 #define CV_VERSION_REVISION 4
//opencv3 #define CV_VERSION_MAJOR 3 #define CV_VERSION_MINOR 4 #define CV_VERSION_REVISION 1 #define CV_VERSION_STATUS ""
CV_VERSION_EPOCH是OpenCV2指定主版本号“2”的宏定义,只在OpenCV2中有,因此可使用如下代码来区分是OpenCV2还是OpenCV3
#include <iostream> #include <opencv2/core/version.hpp> #include <opencv2/core/core.hpp> using namespace cv; #if CV_VERSION_EPOCH == 2 #define OPENCV2 #elif CV_VERSION_MAJOR == 3 #define OPENCV3 #else #error Not support this OpenCV version #endif int main() { #ifdef OPENCV2 std::cout << "Hello, OpenCV2!" << std::endl; #elif defined(OPENCV3) std::cout << "Hello, OpenCV3!" << std::endl; #endif return 0; }
2、Python
import cv2 if __name__ == "__main__": version = cv2.__version__ if version.split('.')[0]=="3": print("this is opencv3") else: print("this is opencv2")
---------------------
作者:hackpig
来源:www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!
本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:


