【opencv】示例-opencv_version.cpp 输出OpenCV的版本和构建配置的示例

d72c7f048920baac24a7c120cb061623.png

#include <opencv2/core/utility.hpp> // 引入OpenCV核心工具库
#include <iostream> // 引入标准输入输出流库


// 定义一个包含命令行参数的字符串
static const std::string keys = 
"{ b build | | print complete build info }" // 定义参数b,显示完整的构建信息
"{ h help  | | print this help           }"; // 定义参数h,显示帮助信息


// 主函数,程序从这里开始执行
int main(int argc, const char* argv[])
{
    // 创建命令行解析器对象
    cv::CommandLineParser parser(argc, argv, keys);
    // 设置程序的说明信息
    parser.about("This sample outputs OpenCV version and build configuration.");
    if (parser.has("help")) // 如果请求帮助信息
    {
        parser.printMessage(); // 打印帮助信息
    }
    else if (!parser.check()) // 检查参数解析是否有误
    {
        parser.printErrors(); // 如果有误,则打印错误信息
    }
    else if (parser.has("build")) // 如果请求构建信息
    {
        // 打印OpenCV的构建信息
        std::cout << cv::getBuildInformation() << std::endl;
    }
    else // 如果没有特殊请求
    {
        // 打印欢迎语信息和OpenCV版本号
        std::cout << "Welcome to OpenCV " << CV_VERSION << std::endl;
    }
    return 0; // 程序正常退出,返回0
}

这段代码的功能是基于OpenCV库创建了一个简单的命令行解析器,可以通过命令行参数来执行不同的功能。

  • 当命令行包含参数“build”时,程序将打印OpenCV的完整构建信息。

  • 当命令行包含参数“help”时,程序将打印出帮助信息。

  • 如果没有提供任何以上特定的参数,程序将打印一条欢迎信息以及使用的OpenCV版本号。

  • 如果命令行参数存在问题,将通过标准错误流打印错误信息

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-14 14:46:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-14 14:46:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-14 14:46:02       87 阅读
  4. Python语言-面向对象

    2024-04-14 14:46:02       96 阅读

热门阅读

  1. Unity数据持久化—Json存档

    2024-04-14 14:46:02       39 阅读
  2. JVM复习

    JVM复习

    2024-04-14 14:46:02      33 阅读
  3. Iterator 和 ListIterator 有什么区别?

    2024-04-14 14:46:02       44 阅读
  4. 实现栈的各种基本运算的算法(数据结构)

    2024-04-14 14:46:02       44 阅读
  5. 北斗导航 | 北斗三号区域短报文服务解析

    2024-04-14 14:46:02       39 阅读