boost::program_optionsでコマンドライン引数を読む
http://www.02.246.ne.jp/~torutk/cxx/boost/program_options.html
こんな感じで使う
#include "cv.h" #include "highgui.h" #include <boost/program_options.hpp> #include <iostream> using namespace boost; using namespace std; int main(int argc, char* argv[]) { program_options::options_description opts("options"); opts.add_options() ("help,h", "ヘルプを表示") ("cascade,c", program_options::value<string>(), "haarcascade設定ファイル") ("input,i", program_options::value<string>(), "入力画像ファイル名") ("output,o", program_options::value<string>(), "出力ファイル名") ("preview,p", "プレビュー表示"); program_options::variables_map argmap; program_options::store(parse_command_line(argc, argv, opts), argmap); program_options::notify(argmap); if (argmap.count("help") || !argmap.count("cascade") || !argmap.count("input")) { cerr << "cascadeとinputが必要です" << endl; cerr << opts << endl; return 1; } IplImage *image = cvLoadImage(argmap["input"].as<string>().c_str()); if(!image){ cerr << "error! Image File not Found" << endl; return -1; } }