Updating samples using cmd parser
This commit is contained in:
parent
86cd9fadf3
commit
7f32e8131d
samples/cpp
@ -1,7 +1,9 @@
|
|||||||
|
#include "opencv2/core/core.hpp"
|
||||||
#include "opencv2/video/background_segm.hpp"
|
#include "opencv2/video/background_segm.hpp"
|
||||||
#include "opencv2/highgui/highgui.hpp"
|
#include "opencv2/highgui/highgui.hpp"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
|
|
||||||
void help()
|
void help()
|
||||||
@ -9,22 +11,33 @@ void help()
|
|||||||
printf("\nDo background segmentation, especially demonstrating the use of cvUpdateBGStatModel().\n"
|
printf("\nDo background segmentation, especially demonstrating the use of cvUpdateBGStatModel().\n"
|
||||||
"Learns the background at the start and then segments.\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"
|
"Learning is togged by the space key. Will read from file or camera\n"
|
||||||
"Call:\n"
|
"Usage: \n"
|
||||||
"./ bgfg_segm [file name -- if no name, read from camera]\n\n");
|
" ./bgfg_segm [--camera]=<use camera, if this key is present>, [--file_name]=<path to movie file> \n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
//this is a sample for foreground detection functions
|
const char* keys =
|
||||||
int main(int argc, char** argv)
|
|
||||||
{
|
{
|
||||||
|
"{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<bool>("camera");
|
||||||
|
string file = parser.get<string>("file_name");
|
||||||
VideoCapture cap;
|
VideoCapture cap;
|
||||||
bool update_bg_model = true;
|
bool update_bg_model = true;
|
||||||
|
|
||||||
if( argc < 2 )
|
if( useCamera )
|
||||||
cap.open(0);
|
cap.open(0);
|
||||||
else
|
else
|
||||||
cap.open(argv[1]);
|
cap.open(file.c_str());
|
||||||
help();
|
parser.printParams();
|
||||||
|
|
||||||
if( !cap.isOpened() )
|
if( !cap.isOpened() )
|
||||||
{
|
{
|
||||||
printf("can not open camera or video file\n");
|
printf("can not open camera or video file\n");
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
* Created on: Oct 17, 2010
|
* Created on: Oct 17, 2010
|
||||||
* Author: ethan
|
* Author: ethan
|
||||||
*/
|
*/
|
||||||
|
#include "opencv2/core/core.hpp"
|
||||||
#include "opencv2/calib3d/calib3d.hpp"
|
#include "opencv2/calib3d/calib3d.hpp"
|
||||||
#include "opencv2/features2d/features2d.hpp"
|
#include "opencv2/features2d/features2d.hpp"
|
||||||
#include "opencv2/imgproc/imgproc.hpp"
|
#include "opencv2/imgproc/imgproc.hpp"
|
||||||
@ -12,20 +13,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
|
using namespace std;
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Copy (x,y) location of descriptor matches found from KeyPoint data structures into Point2f vectors
|
//Copy (x,y) location of descriptor matches found from KeyPoint data structures into Point2f vectors
|
||||||
void matches2points(const vector<DMatch>& matches, const vector<KeyPoint>& kpts_train,
|
void matches2points(const vector<DMatch>& matches, const vector<KeyPoint>& kpts_train,
|
||||||
@ -53,25 +41,38 @@ double match(const vector<KeyPoint>& /*kpts_train*/, const vector<KeyPoint>& /*k
|
|||||||
return ((double)getTickCount() - t) / getTickFrequency();
|
return ((double)getTickCount() - t) / getTickFrequency();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void help()
|
||||||
|
|
||||||
int main(int ac, char ** av)
|
|
||||||
{
|
{
|
||||||
if (ac != 3)
|
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"
|
||||||
help(av);
|
"Usage: \n"
|
||||||
return 1;
|
"image1 image2 \n"
|
||||||
}
|
"Example: \n"
|
||||||
string im1_name, im2_name;
|
"box.png box_in_scene.png \n");
|
||||||
im1_name = av[1];
|
}
|
||||||
im2_name = av[2];
|
|
||||||
|
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<string>("1");
|
||||||
|
string im2_name = parser.get<string>("2");
|
||||||
|
|
||||||
Mat im1 = imread(im1_name, CV_LOAD_IMAGE_GRAYSCALE);
|
Mat im1 = imread(im1_name, CV_LOAD_IMAGE_GRAYSCALE);
|
||||||
Mat im2 = imread(im2_name, CV_LOAD_IMAGE_GRAYSCALE);
|
Mat im2 = imread(im2_name, CV_LOAD_IMAGE_GRAYSCALE);
|
||||||
|
|
||||||
if (im1.empty() || im2.empty())
|
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;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user