Как определить версию OpenCV

Как определить, какую версию OpenCV я установил?

I am most interested in knowing a way of doing it programatically (and cross-platform), но я даже не могу найти способ определить установленную версию извне кода.

Я работаю с C ++ 03 на Fedora.

 Adam17 дек. 2016 г., 19:06
Как это сделать на С?

Ответы на вопрос(7)

CV_MAJOR_VERSION
CV_MINOR_VERSION

вы можете увидеть точную версию ревизии, например:

# in the opencv.svn directory
svn info

и вам нужно настроить кодовые блоки или любую другую IDE (таким образом, вы не можете ни пока что выполнить команду, ни скомпилировать программу), вы можете просто перейти в папку установки OpenCV и посмотреть последние буквы библиотеки в подпапке "/ lib" Все библиотеки там названы в шаблоне, который отражает основные, второстепенные и ревизию сборки OpenCV. Например, если вы наткнулись на файл с именемopencv_ts300.lib или жеopencv_world300.lib тогда майор 3, младший 0 и ревизия 0.

(Примечание: вероятно, что этот метод не работает, я имею в виду, когда эта информация не соответствует реальной версии, но, возможно, это будет с пересмотром, но вряд ли с основной)

вы можете использовать этот код:

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

Обратите внимание на потенциальную проблему с этим решением:

v. 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_VERSION_MAJOR не сопоставимы. Намного более безопасное решение - разобратьCV_VERSION и использовать первое значение передdot.

https://github.com/opencv/opencv/blob/master/modules/core/include/opencv2/core/version.hpp

Top of version.hpp, below the BSD license:
#define CV_VERSION_MAJOR    3
#define CV_VERSION_MINOR    2
#define CV_VERSION_REVISION 0
 07 нояб. 2017 г., 16:13
Это единственный способ, который я до сих пор нашел, чтобы проверить версию исходного кода, которая у меня была.
Решение Вопроса

CV_VERSION макро.

 21 июн. 2017 г., 16:45
В каком заголовкеCV_VERSION определены?

Ваш ответ на вопрос