using namespace std;
void help()
{
- cout << "\nThis code generates an artificial camera and artificial chessboard images,\n"
- << "and then calibrates. It is basically test code for calibration that shows\n"
- << "how to package calibration points and then calibrate the camera.\n"
- << "Call:\n"
- << "./calibration_artificial\n" << endl;
+ printf( "\nThis code generates an artificial camera and artificial chessboard images,\n"
+ "and then calibrates. It is basically test code for calibration that shows\n"
+ "how to package calibration points and then calibrate the camera.\n"
+ "Usage:\n"
+ "./calibration_artificial\n\n");
}
namespace cv
{
+#include "opencv2/core/core.hpp"
#include "opencv2/video/tracking.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
+#include <stdio.h>
#include <ctype.h>
using namespace cv;
void help()
{
- cout << "\nThis is a demo that shows mean-shift based tracking\n"
- << "You select a color objects such as your face and it tracks it.\n"
- << "This reads from video camera (0 by default, or the camera number the user enters\n"
- << "Call:\n"
- << "\n./camshiftdemo [camera number]"
- << "\n" << endl;
-
- cout << "\n\nHot keys: \n"
- "\tESC - quit the program\n"
- "\tc - stop the tracking\n"
- "\tb - switch to/from backprojection view\n"
- "\th - show/hide object histogram\n"
- "To initialize tracking, select the object with mouse\n" << endl;
+ printf("\nThis is a demo that shows mean-shift based tracking\n"
+ "You select a color objects such as your face and it tracks it.\n"
+ "This reads from video camera (0 by default, or the camera number the user enters\n"
+ "Usage:\n"
+ "./camshiftdemo [--cameraIndex]=<camera number, zero as default>\n"
+ "\nHot keys: \n"
+ "\tESC - quit the program\n"
+ "\tc - stop the tracking\n"
+ "\tb - switch to/from backprojection view\n"
+ "\th - show/hide object histogram\n"
+ "To initialize tracking, select the object with mouse\n");
}
Mat image;
-int main( int argc, char** argv )
+int main( int argc, const char** argv )
{
+ help();
+
+ CommandLineParser parser(argc, argv);
+
+ unsigned int cameraInd = parser.get<unsigned int>("cameraIndex", 0);
VideoCapture cap;
Rect trackWindow;
RotatedRect trackBox;
float hranges[] = {0,180};
const float* phranges = hranges;
- if( argc == 1 || (argc == 2 && strlen(argv[1]) == 1 && isdigit(argv[1][0])))
- cap.open(argc == 2 ? argv[1][0] - '0' : 0);
- else if( argc == 2 )
- cap.open(argv[1]);
+// if( argc == 1 || (argc == 2 && strlen(argv[1]) == 1 && isdigit(argv[1][0])))
+// cap.open(argc == 2 ? argv[1][0] - '0' : 0);
+// else if( argc == 2 )
+// cap.open(argv[1]);
+ cap.open(cameraInd);
if( !cap.isOpened() )
{
return 0;
}
- help();
-
namedWindow( "Histogram", 1 );
namedWindow( "CamShift Demo", 1 );
setMouseCallback( "CamShift Demo", onMouse, 0 );