C++--opencv CommandLineParser命令行参数类使用示例

3 篇文章 0 订阅
1 篇文章 0 订阅

说明

有时一些C++小工具懒得做界面又要传入参数的时候,就使用CommandLineParser类来实现这个功能。

示例代码

#include <QCoreApplication>
#include "ShowNum.h"
#include "GenenrateNumber.h"

const char* keys =
        "{help h            | | Print help message. }"
        "{sleepSec sleep    |1| Path to save img grap by hik canmera}"
        "{COM COM           |COM3| start Num of img}"
        "{strIP ip          |192.168.0.242| camera IP,default IP is 192.168.0.242}"
        "{usrName un        |admin| usrName of camera}"
        "{passWord pass     |admin12345| password of camera}"
        "{saveDir dir       |G:/NumberData/newSample/LCD/| save dir}"
        "{startNum start    |0|start Num of img}";

/*
 *     explicit ShowNum(const int& sleepSec=1,
                     const QString& COM="COM3",
                     const QString& IP="192.168.0.242",
                     const int Port=8000,
                     const QString& usrName="admin",
                     const QString& passWd="admin12345",
                     const QString& saveFolder="E:/Numberdata/",
                     const int startNum=0);
 */


int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    cv::CommandLineParser parser(argc, argv, keys);

    float sleepSec=parser.get<float>("sleepSec");
    QString COM=QString::fromStdString(parser.get<String>("COM"));
    QString strIP=QString::fromStdString(parser.get<String>("strIP"));
    int Port=8000;
    QString usrName=QString::fromStdString(parser.get<String>("usrName"));
    QString passWord=QString::fromStdString(parser.get<String>("passWord"));
    QString saveDir=QString::fromStdString(parser.get<String>("saveDir"));
    int startNum=parser.get<int>("startNum");

    if (!parser.check())
    {
        parser.printErrors();
        return 1;
    }

    ShowNum test(sleepSec,COM,strIP,Port,usrName,passWord,saveDir,startNum);
    test.showStrNum();
    
    return a.exec();
}

补充说明

注意key中的模式是a b|c|d。
a是分组的名字,b是命令行里对应的关键字,c是默认值,d是参数说明。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值