本文链接: https://mangoroom.cn/opencv/print-opencv-version-info.html

查看自己安装的opencv的版本信息的方法有两种。

方法一-查看lib文件

到opencv的安装目录。进去lib文件夹,查看opencv的lib文件名称,文件名称中含有的数字便是opencv的版本信息。例如

opencv_calib3d411d.lib
opencv_core411d.lib
opencv_dnn411d.lib
opencv_features2d411d.lib
opencv_flann411d.lib
opencv_gapi411d.lib
opencv_highgui411d.lib
opencv_imgcodecs411d.lib
opencv_imgproc411d.lib
opencv_ml411d.lib
opencv_objdetect411d.lib
opencv_photo411d.lib
opencv_stitching411d.lib
opencv_video411d.lib
opencv_videoio411d.lib

以上的opencv版本就是opencv4.1.1,版本号接着的字母d是debug的意思,表示这是debug版的opencv.

方法二-代码输出

除了方法一查看lib文件的方法,还可以以代码输出的方式。输出的代码如下:

#include<iostream>
#include<opencv2/opencv.hpp> int main()
{
std::cout << "OpenCV version : " << CV_VERSION << std::endl;
std::cout << "Major version : " << CV_MAJOR_VERSION << std::endl;
std::cout << "Minor version : " << CV_MINOR_VERSION << std::endl;
std::cout << "Subminor version : " << CV_SUBMINOR_VERSION << std::endl; system("pause");
return 0;
}

运行后,芒果测试的输出结果为:

OpenCV version : 4.1.1-pre
Major version : 4
Minor version : 1
Subminor version : 1
Press any key to continue . . .

可以看到,以上的信息。芒果使用的opencv是opencv-4.1.1预览版的(芒果自编译),主要版本4,次要版本为1,次要子版本为1。


打印版本信息的代码非常简单,只需要输出定义的版本的几个宏,芒果顺便查阅了官方文档,几个宏的定义如下:

§ CV_MAJOR_VERSION
#define CV_MAJOR_VERSION CV_VERSION_MAJOR
§ CV_MINOR_VERSION
#define CV_MINOR_VERSION CV_VERSION_MINOR
§ CV_SUBMINOR_VERSION
#define CV_SUBMINOR_VERSION CV_VERSION_REVISION
§ CV_VERSION
#define CV_VERSION CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION) CV_VERSION_STATUS

可以看到,与版本信息相关的几个宏定义都有两个以上的值,意味着输出CV_MAJOR_VERSION与CV_VERSION_MAJOR是一样的。

利用版本信息

不同的opencv版本代码使用有所不一样,所以要写出兼容不同版本opencv的代码,这时可以利用opencv的版本信息。

if ( CV_MAJOR_VERSION >= 4)
{
// opencv4.x版本代码
} else if(CV_MAJOR_VERSION >= 3)
{
// opencv3.x版本代码
}else
{
// opencv2.x版本代码
}

尾巴

网上很多人喜欢用imshow函数来验证opencv是否安装和配置成功,其实输出版本信息也是一个非常简单的方法。


本文由芒果浩明发布,转载请注明来源。

本文链接:https://mangoroom.cn/opencv/print-opencv-version-info.html

打印输出opencv的版本信息的更多相关文章

  1. Opencv各个版本的万能头文件

    每次下载opencv的新版本时,都需要重新写头文件,更改链接库配置,很麻烦有木有?下面这个头文件是我在别人的代码中淘出来的,很不错,与大家分享~(具体作者忘记了,不好意思啊) 作者很巧妙地利用Open ...

  2. Linux下如何查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然.   1.# uname -a   (Linux查看版本当前操作系统内核信息)   L ...

  3. 获得appstore里面app的最新的版本信息,进行版本更新

    版本更新有两种方式 一种是从服务器获得最新的版本信息和当前app的版本进行比较 另外一种是获得appStore上最新的版本信息和当前的app的版本进行比较 现在我来说一下如何通过appStore获得最 ...

  4. 查看Linux版本信息

    如何查看Linux系统使用的版本信息呢? 下面这篇文章收集.整理了一些常见的查看Linux系统版本的方法.由于手头只有Oracle Linux.Centos Linux.Redhat Linux三个版 ...

  5. Android APP 读取 AndroidManifest.xml 中的版本信息详解

    APP都会涉及到版本的问题,Android APP的版本信息保存在AndroidManifest.xml文件的顶部.如下图: 有2个属性表示,“android:versionCode”和“androi ...

  6. javascript判断手机浏览器版本信息

    <script type="text/javascript"> /* * 智能机浏览器版本信息: * */ var browser={ versions:functio ...

  7. C#,C++修改vs文件模板,添加自定义代码版权版本信息

    简单型的修改类似该路径下的模板文件即可(vs版本或安装路径不同路径可能不同) C#: 模板参数参考https://msdn.microsoft.com/zh-cn/library/eehb4faa.a ...

  8. iOS 获取应用版本信息

    现在许多接口都需要上传应用版本信息,所以呢,这个是必不可少的,可以在进入应用的时候先获取到,然后存在单例中,用的时候直接调用单例就好了,记住这些字符串 NSString *executableFile ...

  9. 查看已安装的CentOS版本信息:

    如何查看已安装的CentOS版本信息: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@ ...

随机推荐

  1. 配置zookeeper开机自启动

    第一种.修改vim /etc/rc.local文件 vim /etc/rc.local 加入: export JAVA_HOME=/usr/local/JAVA/ --JDK安装路径/data/zoo ...

  2. R_Studio(癌症)数据连续属性离散化处理

    对“癌症.csv”中的肾细胞癌组织内微血管数进行连续属性的等宽离散化处理(分为3类),并用宽值找替原来的值 癌症.csv setwd('D:\\data') list.files() dat=read ...

  3. [清华集训2016]温暖会指引我们前行——LCT+最大生成树

    题目链接: [清华集训2016]温暖会指引我们前行 题目大意:有$n$个点$m$次操作,每次操作分为三种:1.在$u,v$两点之间连接一条编号为$id$,长度为$l$,温度为$t$的边.2.查询从$u ...

  4. MyBaits理解?

    (1)MyBaits是一个基于Java的持久层框架,支持普通或定制化SQL查询.存储过程以及高级映射,使用XML或注解来配置和映射信息. (2)应用程序使用SQLSessionFactory实例,一个 ...

  5. i 是一个修饰符 (搜索不区分大小写)

    什么是正则表达式? 正则表达式是由一个字符序列形成的搜索模式. 当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容. 正则表达式可以是一个简单的字符,或一个更复杂的模式. 正则表达式可用于所 ...

  6. 【攻克RabbitMQ】常见问题

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zlt995768025/article/ ...

  7. NOIP考前知识点整理

    前言:距离NOIP还有不到一百天(虽然NOIP没了),为了整理一下所学的内容,才有了这篇博文.本文内容无特殊说明全部来自于博主的博客,代码也都是新敲的,努力在个人的码风基础上做到尽量简洁,求资瓷. 一 ...

  8. MethodChannel 实现flutter 与 原生通信

    Flutter 步骤 目的:在flutter页面中主动调用原生页面中的方法. 1 在widget中,定义MethodChannel变量 static const MethodChannel metho ...

  9. IDEA全局配置

    进入全局设置界面: 取消每次启动IDEA就默认打开上一次最后关闭的项目 编译器代码字体设置: 控制台字体大小和颜色设置 同一个文件代码里面的各个不同方法之间显示分割线 代码自动提示不区分大小写 格式化 ...

  10. Sublime text3 Version 3.2.2, Build 3211破解

    一.修改hosts hosts地址: C:\Windows\System32\drivers\etc #sublimetext 127.0.0.1 www.sublimetext.com 127.0. ...