打印输出opencv的版本信息
本文链接: 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的版本信息的更多相关文章
- Opencv各个版本的万能头文件
每次下载opencv的新版本时,都需要重新写头文件,更改链接库配置,很麻烦有木有?下面这个头文件是我在别人的代码中淘出来的,很不错,与大家分享~(具体作者忘记了,不好意思啊) 作者很巧妙地利用Open ...
- Linux下如何查看版本信息
Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.# uname -a (Linux查看版本当前操作系统内核信息) L ...
- 获得appstore里面app的最新的版本信息,进行版本更新
版本更新有两种方式 一种是从服务器获得最新的版本信息和当前app的版本进行比较 另外一种是获得appStore上最新的版本信息和当前的app的版本进行比较 现在我来说一下如何通过appStore获得最 ...
- 查看Linux版本信息
如何查看Linux系统使用的版本信息呢? 下面这篇文章收集.整理了一些常见的查看Linux系统版本的方法.由于手头只有Oracle Linux.Centos Linux.Redhat Linux三个版 ...
- Android APP 读取 AndroidManifest.xml 中的版本信息详解
APP都会涉及到版本的问题,Android APP的版本信息保存在AndroidManifest.xml文件的顶部.如下图: 有2个属性表示,“android:versionCode”和“androi ...
- javascript判断手机浏览器版本信息
<script type="text/javascript"> /* * 智能机浏览器版本信息: * */ var browser={ versions:functio ...
- C#,C++修改vs文件模板,添加自定义代码版权版本信息
简单型的修改类似该路径下的模板文件即可(vs版本或安装路径不同路径可能不同) C#: 模板参数参考https://msdn.microsoft.com/zh-cn/library/eehb4faa.a ...
- iOS 获取应用版本信息
现在许多接口都需要上传应用版本信息,所以呢,这个是必不可少的,可以在进入应用的时候先获取到,然后存在单例中,用的时候直接调用单例就好了,记住这些字符串 NSString *executableFile ...
- 查看已安装的CentOS版本信息:
如何查看已安装的CentOS版本信息: 1)[root@localhost ~]# cat /proc/version Linux version 2.6.18-194.el5 (mockbuild@ ...
随机推荐
- JS框架_(coolShow.js)图片旋转动画特效
百度云盘 传送门 密码:ble6 coolShow.js插件图片旋转动画效果 <!DOCTYPE HTML> <head> <meta http-equiv=" ...
- JS框架_(JQbar.js)柱状图动态百分比进度条特效
百度云盘 传送门 密码:q6rt 柱状图动态百分比进度条效果 <html> <head> <title>jqbar.js柱状图动态百分比进度条特效</titl ...
- oracle判断一个字段为空
比如 insert into table a (a1,b1)values("a1",''); 对于这种情况,因为表里存的是'',其实是没有内容的,要查询这个字段,不能直接使用 se ...
- httpclient+jsoup实现网页信息抓取
需求分析:抓取:http://tools.2345.com/rili.htm中的万年历(阳历.阴历等等). 1.首先为抓取的内容创建一个类.实现封装. package com.wan.domain; ...
- 第七周课程总结 & 实验报告(五)
第七周课程总结 一.抽象类与接口的应用 1.实例化 2.实际应用 ---模板设计(抽象类) ---制定标准(接口) 3.设计模式 ---工厂设计 ---代理设计 ---适配器设计 二.抽象类与接口之间 ...
- var $this = $(this)
jQuery: What’s the Difference Between $(this), $this, and this? What about $this? $this is a little ...
- vue组件化之模板优化及注册组件语法糖
vue组件化之模板优化及注册组件语法糖 vue组件化 模板 优化 在 https://www.cnblogs.com/singledogpro/p/12054895.html 这里我们对vue.js ...
- 浏览器端-W3School-HTML:HTML DOM Table 对象
ylbtech-浏览器端-W3School-HTML:HTML DOM Table 对象 1.返回顶部 1. HTML DOM Table 对象 Table 对象 Table 对象代表一个 HTML ...
- emqtt emq 的主题访问控制 acl.conf
访问控制(ACL) EMQ 消息服务器通过 ACL(Access Control List) 实现 MQTT 客户端访问控制. ACL 访问控制规则定义: 允许(Allow)|拒绝(Deny) 谁(W ...
- ControlTemplate in WPF —— Menu
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...