Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何确定OpenCV版本_C++_Opencv_Version - Fatal编程技术网

C++ 如何确定OpenCV版本

C++ 如何确定OpenCV版本,c++,opencv,version,C++,Opencv,Version,如何确定我安装了哪个版本的OpenCV 我最感兴趣的是知道一种通过编程(和跨平台)实现的方法,但我甚至找不到一种从代码外部确定已安装版本的方法 我正在Fedora上使用C++03。您可以检查以下宏变量: CV_MAJOR_VERSION CV_MINOR_VERSION 您可以检查CV\u版本宏。如果您是从svn存储库安装的,您可以看到确切的修订版本,如下所示: # in the opencv.svn directory svn info 如果还希望获取生成信息,可以使用以下代码:

如何确定我安装了哪个版本的OpenCV

我最感兴趣的是知道一种通过编程(和跨平台)实现的方法,但我甚至找不到一种从代码外部确定已安装版本的方法


我正在Fedora上使用C++03。

您可以检查以下宏变量:

CV_MAJOR_VERSION
CV_MINOR_VERSION

您可以检查
CV\u版本
宏。

如果您是从svn存储库安装的,您可以看到确切的修订版本,如下所示:

# in the opencv.svn directory
svn info

如果还希望获取生成信息,可以使用以下代码:

    printf("OpenCV: %s", cv::getBuildInformation().c_str());

版本字符串位于:


如果您在Windows下工作,需要配置代码块或任何其他IDE(因此,您还不能发出任何命令或编译程序),只需转到OpenCV安装文件夹,并在子文件夹“/lib”中查看库的最终删除程序。所有库的命名模式都反映了OpenCV构建的主要版本、次要版本和修订版本。例如,如果您偶然发现一个名为OpenCV_ts300.lib或OpenCV_world300.lib的文件,则主要版本为3,次要版本为0,修订版本为0


(注意:当这些信息与真实版本不一致时,这种方法可能会失败,但这可能是修订版,但不太可能是专业版)

我想使用version.hpp defines来增强其中一个答案

请注意该解决方案的潜在问题:

五,。2.4.13.6定义了:

#define CV_VERSION_EPOCH 2
#define CV_VERSION_MAJOR 4
#define CV_VERSION_MINOR 13
#define CV_VERSION_REVISION 6
#if CV_VERSION_REVISION
#  define CV_VERSION    CVAUX_STR(CV_VERSION_EPOCH) "." CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION)
#else
#  define CV_VERSION        CVAUX_STR(CV_VERSION_EPOCH) "." CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR)
#endif
和v。3.4.2定义:

#define CV_VERSION_MAJOR 3
#define CV_VERSION_MINOR 4
#define CV_VERSION_REVISION 2
#define CV_VERSION    CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION) CV_VERSION_STATUS

因此,CV_版本_专业不具有可比性。更安全的解决方案是解析CV_VERSION并使用点之前的第一个值。

pkg config--modversion opencv

如何在C中执行?在哪个标题中定义了
CV_VERSION
?这是迄今为止我找到的唯一检查源代码版本的方法。
#define CV_VERSION_MAJOR 3
#define CV_VERSION_MINOR 4
#define CV_VERSION_REVISION 2
#define CV_VERSION    CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION) CV_VERSION_STATUS