diff --git a/samples/cpp/bgfg_segm.cpp b/samples/cpp/bgfg_segm.cpp index c93f44c5b..f41716532 100644 --- a/samples/cpp/bgfg_segm.cpp +++ b/samples/cpp/bgfg_segm.cpp @@ -1,7 +1,9 @@ +#include "opencv2/core/core.hpp" #include "opencv2/video/background_segm.hpp" #include "opencv2/highgui/highgui.hpp" #include +using namespace std; using namespace cv; void help() @@ -9,22 +11,33 @@ void help() printf("\nDo background segmentation, especially demonstrating the use of cvUpdateBGStatModel().\n" "Learns the background at the start and then segments.\n" "Learning is togged by the space key. Will read from file or camera\n" -"Call:\n" -"./ bgfg_segm [file name -- if no name, read from camera]\n\n"); +"Usage: \n" +" ./bgfg_segm [--camera]=, [--file_name]= \n\n"); } -//this is a sample for foreground detection functions -int main(int argc, char** argv) +const char* keys = { + "{c |camera |false | use camera or not}" + "{fn|file_name|tree.avi | movie file }" +}; + +//this is a sample for foreground detection functions +int main(int argc, const char** argv) +{ + help(); + + CommandLineParser parser(argc, argv, keys); + bool useCamera = parser.get("camera"); + string file = parser.get("file_name"); VideoCapture cap; bool update_bg_model = true; - if( argc < 2 ) + if( useCamera ) cap.open(0); else - cap.open(argv[1]); - help(); - + cap.open(file.c_str()); + parser.printParams(); + if( !cap.isOpened() ) { printf("can not open camera or video file\n"); diff --git a/samples/cpp/brief_match_test.cpp b/samples/cpp/brief_match_test.cpp index 5c491dac2..1e6813ba8 100644 --- a/samples/cpp/brief_match_test.cpp +++ b/samples/cpp/brief_match_test.cpp @@ -4,6 +4,7 @@ * Created on: Oct 17, 2010 * Author: ethan */ +#include "opencv2/core/core.hpp" #include "opencv2/calib3d/calib3d.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/imgproc/imgproc.hpp" @@ -12,20 +13,7 @@ #include using namespace cv; - -using std::cout; -using std::cerr; -using std::endl; -using std::vector; - -void help(char **av) -{ - cerr << "usage: " << av[0] << " im1.jpg im2.jpg" - << "\n" - << "This program shows how to use BRIEF descriptor to match points in features2d\n" - << "It takes in two images, finds keypoints and matches them displaying matches and final homography warped results\n" - << endl; -} +using namespace std; //Copy (x,y) location of descriptor matches found from KeyPoint data structures into Point2f vectors void matches2points(const vector& matches, const vector& kpts_train, @@ -53,25 +41,38 @@ double match(const vector& /*kpts_train*/, const vector& /*k return ((double)getTickCount() - t) / getTickFrequency(); } - - -int main(int ac, char ** av) +void help() { - if (ac != 3) - { - help(av); - return 1; - } - string im1_name, im2_name; - im1_name = av[1]; - im2_name = av[2]; + printf ("This program shows how to use BRIEF descriptor to match points in features2d\n" + "It takes in two images, finds keypoints and matches them displaying matches and final homography warped results\n" + "Usage: \n" + "image1 image2 \n" + "Example: \n" + "box.png box_in_scene.png \n"); +} + +const char* keys = +{ + "{1| |box.png |the first image}" + "{2| |box_in_scene.png|the second image}" +}; + +int main(int argc, const char ** argv) +{ + + help(); + CommandLineParser parser(argc, argv, keys); + string im1_name = parser.get("1"); + string im2_name = parser.get("2"); Mat im1 = imread(im1_name, CV_LOAD_IMAGE_GRAYSCALE); Mat im2 = imread(im2_name, CV_LOAD_IMAGE_GRAYSCALE); if (im1.empty() || im2.empty()) { - cerr << "could not open one of the images..." << endl; + printf( "could not open one of the images...\n"); + printf("the cmd parameters have next current value: \n"); + parser.printParams(); return 1; }