打印输出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

原文地址:https://www.cnblogs.com/mangoroom/p/11096421.html

时间: 2024-10-29 05:33:06

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

Opencv各个版本的万能头文件

每次下载opencv的新版本时,都需要重新写头文件,更改链接库配置,很麻烦有木有?下面这个头文件是我在别人的代码中淘出来的,很不错,与大家分享~(具体作者忘记了,不好意思啊) 作者很巧妙地利用Opencv的版本信息定义了一个宏,无论你的Opencv是243还是246都能够完美支持,以后再不用担心更新版本带来的问题了,另:对于比较老的Opencv版本可能有个别lib的名称不对,修改一下就可以了 stdafx.h #pragma once #include "targetver.h" #i

查看Linux系统版本信息

一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [[email protected]CentOS home]# cat /proc/versionLinux version 2.6.32-431.el6.x86_64 ([email protected]) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013 2.uname -a [

[Linux学习笔记] Linux常用命令 - 用户版本信息查看

用户版本信息查看 1. 查看当前系统用户登录信息: who 命令名称: who 命令所在路径: /usr/bin/who 执行权限: 所有用户 语法: who 功能描述: 查看当前系统用户登录信息 补充: w命令提供了较who命令更强大的功能 2. 查看当前用户身份: whoami 命令名称: whoami 命令所在路径: /usr/bin/whoami 执行权限: 所有用户 语法: whoami 功能描述: 查看当前用户身份 3. 查看系统版本信息: uname 命令名称: uname 命令所

根据.mdf文件查看 SQL数据库的版本信息

手上有 经理带来的一个教学管理系统,由于不知道开发环境,在向SQL2000附件数据库的时候 报出附加失败的信息 ,上网查知说的2005的数据库不能向2000添加,好吧 那我在安装一个2005的行吧?但是安装SQL2005的时候确出现了问百度一段时间后知道因为我的机器上安装VS2005的时候他会给你带一个SQL2005的简化版(sql2005express),正是这个原因在安装SQL2005开发版的时候才会出现问题,所以需要把自带的sql2005express删除在重新安装;2005的安装上之后

Linux系统如何查看版本信息

在windows下我们查看系统信息直接右击电脑属性就可以查看了.那么在Linux系统中如何查看呢.下面给大家介绍几种查看的方式 输入"uname -a ",可显示电脑以及操作系统的相关信息. 输入"cat /proc/version",说明正在运行的内核版本. 输入"cat /etc/issue", 显示的是发行版本信息 lsb_release -a (适用于所有的linux,包括Redhat.SuSE.Debian等发行版,但是在debian下

从AppStore获取一个iOS App的版本信息

做了一个iOS下的App,普通情况下,AppStore会提示更新的,但是用户如果没开推送,或者不打开AppStore,是不知道有新版本的,所以要做版本更新提醒,当AppStore上有新的版本时,提示用户进行更新.如何关键是如何获得AppStore上的版本信息,可以通过苹果提供的REST接口进行查询. NSString *urlStr = [[NSString alloc] initWithFormat:@"http://itunes.apple.com/lookup?id=%@",@&

查看OpenGL版本信息

查看OpenGL版本信息 执行如下代码 1 #include "stdafx.h" 2 #include <iostream> 3 #include <gl/glut.h> 4 5 int _tmain(int argc, _TCHAR* argv[]) 6 { 7 glutInit(&argc, (char**)argv); 8 //显示模式初始化 9 glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPT

怎么给qt程序添加版本信息

windows下的可执行文件的属性中有版本这个信息,她含有版本信息,描述,版权等等.对于qt的程序,要含有这样的信息,该怎么办呢?那就如下操作吧:新建***.rc文件,在rc文件填入下的信息 #if defined(UNDER_CE)#include <winbase.h>#else#include <winver.h>#endif VS_VERSION_INFO VERSIONINFO    FILEVERSION 1,0,0,0    PRODUCTVERSION 1,0,0,

apache 隐藏版本信息隐藏敏感信息

如果我们想隐藏apache的版本信息,或者隐藏apache的敏感信息需要我们在编译之前对以下文件进行修改:(我们以apache的2.2.27版本为列) vim /usr/local/tools/httpd-2.2.27/include/ap_release.h #define AP_SERVER_BASEPRODUCT "Apache"                   改成  Microsoft-IIS 下面标红的是指的apache的版本信息,我们可以做相对应的修改#define