### Navigation

- index
- next |
- previous |
- OpenCV 3.0.0-dev documentation »
- OpenCV API Reference »
- core. The Core Functionality »

# Command Line Parser

## CommandLineParser

class `CommandLineParser`

The CommandLineParser class is designed for command line arguments parsing

> C++:`` `CommandLineParser::``CommandLineParser`(int argc, const char* const argv[], const String& keys)

>   Parameters: | argc – argv – keys –

> C++:`` template<typename T> T `CommandLineParser::``get<T>`(const String& name, bool space_delete=true)

>   Parameters: | name – space_delete –

> C++:`` template<typename T> T `CommandLineParser::``get<T>`(int index, bool space_delete=true)

>   Parameters: | index – space_delete –

> C++:`` bool `CommandLineParser::``has`(const String& name)

>   Parameters: | name –

> C++:`` bool `CommandLineParser::``check`()
> C++:`` void `CommandLineParser::``about`(const String& message)

>   Parameters: | message –

> C++:`` void `CommandLineParser::``printMessage`()
> C++:`` void `CommandLineParser::``printErrors`()
> C++:`` String `CommandLineParser::``getPathToApplication`()

The sample below demonstrates how to use CommandLineParser:

    CommandLineParser parser(argc, argv, keys);
    parser.about("Application name v1.0.0");

    if (parser.has("help"))
    {
        parser.printMessage();
        return 0;
    }

    int N = parser.get<int>("N");
    double fps = parser.get<double>("fps");
    String path = parser.get<String>("path");

    use_time_stamp = parser.has("timestamp");

    String img1 = parser.get<String>(0);
    String img2 = parser.get<String>(1);

    int repeat = parser.get<int>(2);

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

Syntax:

    const String keys =
        "{help h usage ? |      | print this message   }"
        "{@image1        |      | image1 for compare   }"
        "{@image2        |      | image2 for compare   }"
        "{@repeat        |1     | number               }"
        "{path           |.     | path to file         }"
        "{fps            | -1.0 | fps for output video }"
        "{N count        |100   | count of objects     }"
        "{ts timestamp   |      | use time stamp       }"
        ;

Use:

    # ./app -N=200 1.png 2.jpg 19 -ts

    # ./app -fps=aaa
    ERRORS:
    Exception: can not convert: [aaa] to [double]

## Help and Feedback

You did not find what you were looking for?

- Ask a question on the Q&A forum.
- If you think something is missing or wrong in the documentation, please file a bug report.

### Navigation

- index
- next |
- previous |
- OpenCV 3.0.0-dev documentation »
- OpenCV API Reference »
- core. The Core Functionality »