Как определить версию OpenCV на Python и C++? — TechCave

Оглавление OpenCV 3 была выпущена сравнительно недавно, но вы могли уже задумываться о модернизации вашего кода, написанного на OpenCV 2

Как определить версию OpenCV на Python и C++?

OpenCV/Обработка и распознавание изображений

Как определить версию OpenCV на Python и C++?

Оглавление

OpenCV 3 была выпущена сравнительно недавно, но вы могли уже задумываться о модернизации вашего кода, написанного на OpenCV 2. Проблема в том, что он, скорее всего,  не скомпилируется с OpenCV 3, потому что новая версия не имеет обратной совмести. Поэтому, вам понадобится способ, который позволит писать программу совместимую с OpenCV 3 и OpenCV 2.

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

Все просто, cv2.__version__  содержит строку с версией OpenCV. Вы также можете получить минорную и мажорную версию. Пример приаеден ниже.

import cv2
# Print version string
print "OpenCV version : {0}".format(cv2.__version__)
# Extract major, minor, and subminor version numbers
(major_ver, minor_ver, subminor_ver) = (cv2.__version__).split('.')
print "Major version : {0}".format(major_ver)
print "Minor version : {0}".format(minor_ver)
print "Submior version : {0}".format(subminor_ver)
if int(major_ver) < 3 :
'''
Old OpenCV 2 code goes here
'''
else :
'''
New OpenCV 3 code goes here
'''

Пример вывода программы:

Как определить версию OpenCV в программе на C ++

В C ++ определены несколько макросов, с помощью которых, можно легко определить версию - CV_VERSION, CV_MAJOR_VERSION, CV_MINOR_VERSION, CV_SUBMINOR_VERSION. Небольшой пример кода приведен ниже.

#include <iostream>
#include "opencv2/opencv.hpp"
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
cout << "OpenCV version : " << CV_VERSION << endl;
cout << "Major version : " << CV_MAJOR_VERSION << endl;
cout << "Minor version : " << CV_MINOR_VERSION << endl;
cout << "Subminor version : " << CV_SUBMINOR_VERSION << endl;
if ( CV_MAJOR_VERSION < 3)
{
// Old OpenCV 2 code goes here.
} else
{
// New OpenCV 3 code goes here.
}
}

Пример вывода программы:

Оглавление

12:03
3446

Нет комментариев. Ваш будет первым!

Авторизация

Пользователи

Seangle
Галя Рубцова
Ольга Телюкова
Zhenya
Лариса Аксиненко
Dmitry Loginov
Dimas Potapov
Ваня Берёзкин
Володя Рудомаха