Command Line Parser =================== .. highlight:: cpp CommandLineParser ----------------- .. ocv:class:: CommandLineParser The CommandLineParser class is designed for command line arguments parsing .. ocv:function:: CommandLineParser::CommandLineParser( int argc, const char* const argv[], const String& keys ) :param argc: :param argv: :param keys: .. ocv:function:: template T CommandLineParser::get(const String& name, bool space_delete = true) :param name: :param space_delete: .. ocv:function:: template T CommandLineParser::get(int index, bool space_delete = true) :param index: :param space_delete: .. ocv:function:: bool CommandLineParser::has(const String& name) :param name: .. ocv:function:: bool CommandLineParser::check() .. ocv:function:: void CommandLineParser::about( const String& message ) :param message: .. ocv:function:: void CommandLineParser::printMessage() .. ocv:function:: void CommandLineParser::printErrors() .. ocv:function:: 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("N"); double fps = parser.get("fps"); String path = parser.get("path"); use_time_stamp = parser.has("timestamp"); String img1 = parser.get(0); String img2 = parser.get(1); int repeat = parser.get(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]