web-dev-qa-db-fra.com

Comment déterminer la version d'OpenCV

Comment déterminer quelle version d'OpenCV j'ai installée?

Je suis surtout intéressé à connaître un moyen de le faire par programme (et sur plusieurs plates-formes) , mais je ne peux même pas trouver un moyen de déterminer la version installée à partir du code.

Je travaille avec C++ 03, sur Fedora.

21
penelope

Vous pouvez vérifier la macro CV_VERSION.

32
juanchopanza

Vous pouvez vérifier les variables de macro suivantes:

CV_MAJOR_VERSION
CV_MINOR_VERSION
18
CharlesB

Si vous souhaitez également obtenir des informations de construction, vous pouvez utiliser ce code:

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

La version de la chaîne se trouve dans:

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
6
user1270710

pkg-config --modversion opencv

3
T.Chia

Si vous installez depuis le référentiel svn, vous pouvez voir la version de révision exacte comme celle-ci:

# in the opencv.svn directory
svn info
1
Eric

Je voudrais améliorer l'une des réponses en utilisant version.hpp.

Veuillez noter le problème potentiel avec cette solution:

v. 2.4.13.6 définit:

#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

et v. 3.4.2 définit:

#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

Par conséquent, CV_VERSION_MAJOR ne sont pas comparables. Une solution beaucoup plus sûre consiste à analyser CV_VERSION et à utiliser la première valeur avant un point .

0
David Střelák

si vous travaillez sous Windows et que vous avez besoin de configurer Codeblocks ou tout autre IDE (vous ne pouvez donc pas émettre de commande ni compiler de programme), vous pouvez simplement aller dans le dossier d'installation d'OpenCV et regarder après la liste finale des bibliothèques du sous-dossier "/ lib" .Toutes les bibliothèques sont nommées dans un modèle qui reflète la majeure, mineure et la révision de la construction de OpenCV.For par exemple si vous tombez sur un fichier nommé opencv_ts300.lib ou opencv_world300.lib alors le majeur est 3, le mineur est 0 et la révision est 0.

(Remarque: il est probable que cette méthode échoue, je veux dire lorsque ces informations ne sont pas conformes à la version réelle, mais ce sera peut-être avec la révision mais peu probable avec la version majeure)

0
jihed gasmi