#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
+#include <opencv2/videoio.hpp>
#include <opencv2/core/utils/trace.hpp>
using namespace cv;
Scalar::all(0), -1, 8, 0 );
imshow("histogram", histImage);
}
-static void help()
-{
- std::cout << "\nThis program demonstrates the use of calcHist() -- histogram creation.\n"
- << "Usage: \n" << "demhist [image_name -- Defaults to baboon.jpg]" << std::endl;
-}
const char* keys =
{
int main( int argc, const char** argv )
{
CommandLineParser parser(argc, argv, keys);
+ parser.about("\nThis program demonstrates the use of calcHist() -- histogram creation.\n");
if (parser.has("help"))
{
- help();
+ parser.printMessage();
return 0;
}
string inputImage = parser.get<string>(0);
using namespace cv;
using namespace std;
-static void help()
+static void help(const char ** argv)
{
printf("\nThis program demonstrated the use of the discrete Fourier transform (dft)\n"
"The dft of an image is taken and it's power spectrum is displayed.\n"
- "Usage:\n"
- "./dft [image_name -- default lena.jpg]\n");
+ "Usage:\n %s [image_name -- default lena.jpg]\n",argv[0]);
}
const char* keys =
int main(int argc, const char ** argv)
{
- help();
+ help(argv);
CommandLineParser parser(argc, argv, keys);
if (parser.has("help"))
{
- help();
+ help(argv);
return 0;
}
string filename = parser.get<string>(0);
Mat img = imread(samples::findFile(filename), IMREAD_GRAYSCALE);
if( img.empty() )
{
- help();
+ help(argv);
printf("Cannot read image file: %s\n", filename.c_str());
return -1;
}
#include "opencv2/objdetect.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
+#include "opencv2/videoio.hpp"
#include <iostream>
using namespace std;
};
String winName="False color";
-static const String ColorMaps[] = { "Autumn", "Bone", "Jet", "Winter", "Rainbow", "Ocean", "Summer",
- "Spring", "Cool", "HSV", "Pink", "Hot", "Parula", "User defined (random)"};
+static const String ColorMaps[] = { "Autumn", "Bone", "Jet", "Winter", "Rainbow", "Ocean", "Summer", "Spring",
+ "Cool", "HSV", "Pink", "Hot", "Parula", "Magma", "Inferno", "Plasma", "Viridis",
+ "Cividis", "Twilight", "Twilight Shifted", "Turbo", "User defined (random)" };
static void TrackColorMap(int x, void *r)
{
ParamColorMap *p = (ParamColorMap*)r;
Mat dst;
p->iColormap= x;
- if (x == COLORMAP_PARULA + 1)
+ if (x == COLORMAP_TURBO + 1)
{
Mat lutRND(256, 1, CV_8UC3);
randu(lutRND, Scalar(0, 0, 0), Scalar(255, 255, 255));
namedWindow(winName);
createTrackbar("colormap", winName,&p.iColormap,1,TrackColorMap,(void*)&p);
setTrackbarMin("colormap", winName, COLORMAP_AUTUMN);
- setTrackbarMax("colormap", winName, COLORMAP_PARULA+1);
+ setTrackbarMax("colormap", winName, COLORMAP_TURBO+1);
setTrackbarPos("colormap", winName, -1);
TrackColorMap(0, (void*)&p);
using namespace cv;
using namespace std;
-static void help()
+static void help( char** argv )
{
cout << "\nCool inpainging demo. Inpainting repairs damage to images by floodfilling the damage \n"
<< "with surrounding image areas.\n"
"Using OpenCV version %s\n" << CV_VERSION << "\n"
- "Usage:\n"
- "./inpaint [image_name -- Default fruits.jpg]\n" << endl;
+ "Usage:\n" << argv[0] <<" [image_name -- Default fruits.jpg]\n" << endl;
cout << "Hot keys: \n"
"\tESC - quit the program\n"
int main( int argc, char** argv )
{
cv::CommandLineParser parser(argc, argv, "{@image|fruits.jpg|}");
- help();
+ help(argv);
string filename = samples::findFile(parser.get<string>("@image"));
Mat img0 = imread(filename, IMREAD_COLOR);
// groupThreshold (set groupThreshold to 0 to turn off the grouping completely).
vector<Rect> found;
if (m == Default)
- hog.detectMultiScale(img, found, 0, Size(8,8), Size(32,32), 1.05, 2, false);
+ hog.detectMultiScale(img, found, 0, Size(8,8), Size(), 1.05, 2, false);
else if (m == Daimler)
- hog_d.detectMultiScale(img, found, 0.5, Size(8,8), Size(32,32), 1.05, 2, true);
+ hog_d.detectMultiScale(img, found, 0, Size(8,8), Size(), 1.05, 2, true);
return found;
}
void adjustRect(Rect & r) const
int main(int argc, char** argv)
{
CommandLineParser parser(argc, argv, keys);
- parser.about("This sample demonstrates the use ot the HoG descriptor.");
+ parser.about("This sample demonstrates the use of the HoG descriptor.");
if (parser.has("help"))
{
parser.printMessage();
imshow("People detector", frame);
// interact with user
- const char key = (char)waitKey(30);
+ const char key = (char)waitKey(1);
if (key == 27 || key == 'q') // ESC
{
cout << "Exit requested" << endl;
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
+#include "opencv2/videoio.hpp"
#include <iostream>
using namespace cv;
-static void help( void )
-{
- printf("\nThis program illustrates Linear-Polar and Log-Polar image transforms\n"
- "Usage :\n"
- "./polar_transforms [[camera number -- Default 0],[path_to_filename]]\n\n");
-}
-
int main( int argc, char** argv )
{
VideoCapture capture;
Mat log_polar_img, lin_polar_img, recovered_log_polar, recovered_lin_polar_img;
- help();
-
- CommandLineParser parser(argc, argv, "{@input|0|}");
+ CommandLineParser parser(argc, argv, "{@input|0| camera device number or video file path}");
+ parser.about("\nThis program illustrates usage of Linear-Polar and Log-Polar image transforms\n");
+ parser.printMessage();
std::string arg = parser.get<std::string>("@input");
if( arg.size() == 1 && isdigit(arg[0]) )
if( !capture.isOpened() )
{
- const char* name = argv[0];
fprintf(stderr,"Could not initialize capturing...\n");
- fprintf(stderr,"Usage: %s <CAMERA_NUMBER> , or \n %s <VIDEO_FILE>\n", name, name);
return -1;
}
drawMarker(src, Point(x, y), Scalar(0, 255, 0));
drawMarker(dst, Point(rho, phi), Scalar(0, 255, 0));
-
-#if 0 //C version
- CvMat src = frame;
- CvMat dst = lin_polar_img;
- CvMat inverse = recovered_lin_polar_img;
- cvLinearPolar(&src, &dst, center, maxRadius, flags);
- cvLinearPolar(&dst, &inverse, center, maxRadius,flags + WARP_INVERSE_MAP);
-#endif
-
imshow("Src frame", src);
imshow("Log-Polar", log_polar_img);
imshow("Linear-Polar", lin_polar_img);
#include "opencv2/objdetect.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
+#include "opencv2/videoio.hpp"
#include <string>
#include <iostream>
#include "opencv2/objdetect.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
+#include "opencv2/videoio.hpp"
#include <iostream>
using namespace std;
using namespace cv;
-static void help()
+static void help(const char** argv)
{
cout << "\nThis program demonstrates the smile detector.\n"
- "Usage:\n"
- "./smiledetect [--cascade=<cascade_path> this is the frontal face classifier]\n"
+ "Usage:\n" <<
+ argv[0] << " [--cascade=<cascade_path> this is the frontal face classifier]\n"
" [--smile-cascade=[<smile_cascade_path>]]\n"
" [--scale=<image scale greater or equal to 1, try 2.0 for example. The larger the faster the processing>]\n"
" [--try-flip]\n"
" [video_filename|camera_index]\n\n"
- "Example:\n"
- "./smiledetect --cascade=\"data/haarcascades/haarcascade_frontalface_alt.xml\" --smile-cascade=\"data/haarcascades/haarcascade_smile.xml\" --scale=2.0\n\n"
+ "Example:\n" <<
+ argv[0] << " --cascade=\"data/haarcascades/haarcascade_frontalface_alt.xml\" --smile-cascade=\"data/haarcascades/haarcascade_smile.xml\" --scale=2.0\n\n"
"During execution:\n\tHit any key to quit.\n"
"\tUsing OpenCV version " << CV_VERSION << "\n" << endl;
}
string inputName;
bool tryflip;
- help();
+ help(argv);
CascadeClassifier cascade, nestedCascade;
double scale;
"{try-flip||}{@input||}");
if (parser.has("help"))
{
- help();
+ help(argv);
return 0;
}
cascadeName = samples::findFile(parser.get<string>("cascade"));
scale = parser.get<int>("scale");
if (!parser.check())
{
- help();
+ help(argv);
return 1;
}
if (scale < 1)
if( !cascade.load( cascadeName ) )
{
cerr << "ERROR: Could not load face cascade" << endl;
- help();
+ help(argv);
return -1;
}
if( !nestedCascade.load( nestedCascadeName ) )
{
cerr << "ERROR: Could not load smile cascade" << endl;
- help();
+ help(argv);
return -1;
}
if( inputName.empty() || (isdigit(inputName[0]) && inputName.size() == 1) )
else
{
cerr << "ERROR: Could not initiate capture" << endl;
- help();
+ help(argv);
return -1;
}
int main(int argc, char** argv)
{
- static const char* names[] = { "data/pic1.png", "data/pic2.png", "data/pic3.png",
- "data/pic4.png", "data/pic5.png", "data/pic6.png", 0 };
+ static const char* names[] = { "pic1.png", "pic2.png", "pic3.png",
+ "pic4.png", "pic5.png", "pic6.png", 0 };
help(argv[0]);
if( argc > 1)
#include "opencv2/highgui.hpp"
#include "opencv2/ml.hpp"
#include "opencv2/objdetect.hpp"
-
+#include "opencv2/videoio.hpp"
#include <iostream>
#include <time.h>
/**
- * @file LinearBlend.cpp
+ * @file AddingImagesTrackbar.cpp
* @brief Simple linear blender ( dst = alpha*src1 + beta*src2 )
* @author OpenCV team
*/
{
//![load]
/// Read images ( both have to be of the same size and type )
- src1 = imread("../data/LinuxLogo.jpg");
- src2 = imread("../data/WindowsLogo.jpg");
+ src1 = imread( samples::findFile("LinuxLogo.jpg") );
+ src2 = imread( samples::findFile("WindowsLogo.jpg") );
//![load]
if( src1.empty() ) { cout << "Error loading src1 \n"; return -1; }
/**
- * @file LinearTransforms.cpp
+ * @file BasicLinearTransformsTrackbar.cpp
* @brief Simple program to change contrast and brightness
* @date Mon, June 6, 2011
* @author OpenCV team
int main( int argc, char** argv )
{
/// Read image given by user
- String imageName("../data/lena.jpg"); // by default
+ String imageName("lena.jpg"); // by default
if (argc > 1)
{
imageName = argv[1];
}
- image = imread( imageName );
+ image = imread( samples::findFile( imageName ) );
/// Initialize values
alpha = 1;
int main( int argc, char** argv )
{
//! [Load image]
- CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ), IMREAD_COLOR );
+ CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_COLOR );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
if (argc < 3)
{
cout << "Not enough parameters" << endl;
- cout << "Usage:\n./MatchTemplate_Demo <image_name> <template_name> [<mask_name>]" << endl;
+ cout << "Usage:\n" << argv[0] << " <image_name> <template_name> [<mask_name>]" << endl;
return -1;
}
if(img.empty() || templ.empty() || (use_mask && mask.empty()))
{
cout << "Can't read one of the images" << endl;
- return -1;
+ return EXIT_FAILURE;
}
//! [load_image]
//! [wait_key]
waitKey(0);
- return 0;
+ return EXIT_SUCCESS;
//! [wait_key]
}
int main(int argc, char** argv)
{
//! [Load image]
- CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ), IMREAD_COLOR );
+ CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_COLOR );
if( src.empty() )
{
- return -1;
+ return EXIT_FAILURE;
}
//! [Load image]
waitKey();
//! [Display]
- return 0;
+ return EXIT_SUCCESS;
}
{
/// Read image given by user
//! [basic-linear-transform-load]
- CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" );
- Mat image = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" );
+ Mat image = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( image.empty() )
{
cout << "Could not open or find the image!\n" << endl;
imshow("Original Image", image);
imshow("New Image", new_image);
- /// Wait until user press some key
+ /// Wait until the user press a key
waitKey();
//! [basic-linear-transform-display]
return 0;
int main( int argc, char** argv )
{
/// Load an image
- CommandLineParser parser( argc, argv, "{@input | ../data/LinuxLogo.jpg | input image}" );
- src = imread( parser.get<String>( "@input" ), IMREAD_COLOR );
+ CommandLineParser parser( argc, argv, "{@input | LinuxLogo.jpg | input image}" );
+ src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_COLOR );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
//![load]
- CommandLineParser parser( argc, argv, "{@input | ../data/baboon.jpg | input image}" );
- src = imread( parser.get<String>( "@input" ), IMREAD_COLOR );
+ CommandLineParser parser( argc, argv, "{@input | baboon.jpg | input image}" );
+ src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_COLOR );
if (src.empty())
{
std::cout << "Could not open or find the image!\n" << std::endl;
std::cout << "Usage: " << argv[0] << " <Input image>" << std::endl;
- return -1;
+ return EXIT_FAILURE;
}
//![load]
" * [ESC] -> Close program \n" << endl;
//![load]
- const char* filename = argc >=2 ? argv[1] : "../data/chicky_512.png";
+ const char* filename = argc >=2 ? argv[1] : "chicky_512.png";
// Loads an image
- Mat src = imread( filename );
+ Mat src = imread( samples::findFile( filename ) );
// Check if image is loaded fine
if(src.empty()){
printf(" Error opening image\n");
- printf(" Program Arguments: [image_name -- default ../data/chicky_512.png] \n");
- return -1;
+ printf(" Program Arguments: [image_name -- default chicky_512.png] \n");
+ return EXIT_FAILURE;
}
//![load]
}
//![loop]
- return 0;
+ return EXIT_SUCCESS;
}
namedWindow( window_name, WINDOW_AUTOSIZE );
/// Load the source image
- const char* filename = argc >=2 ? argv[1] : "../data/lena.jpg";
+ const char* filename = argc >=2 ? argv[1] : "lena.jpg";
- src = imread( filename, IMREAD_COLOR );
- if(src.empty())
+ src = imread( samples::findFile( filename ), IMREAD_COLOR );
+ if (src.empty())
{
printf(" Error opening image\n");
- printf(" Usage: ./Smoothing [image_name -- default ../data/lena.jpg] \n");
- return -1;
+ printf(" Usage:\n %s [image_name-- default lena.jpg] \n", argv[0]);
+ return EXIT_FAILURE;
}
if( display_caption( "Original Image" ) != 0 )
int main( int argc, char** argv )
{
//! [load]
- String imageName("../data/stuff.jpg"); // by default
+ String imageName("stuff.jpg"); // by default
if (argc > 1)
{
imageName = argv[1];
}
- src = imread( imageName, IMREAD_COLOR ); // Load an image
+ src = imread( samples::findFile( imageName ), IMREAD_COLOR ); // Load an image
if (src.empty())
{
- cout << "Cannot read image: " << imageName << std::endl;
+ cout << "Cannot read the image: " << imageName << std::endl;
return -1;
}
//! [trackbar]
createTrackbar( trackbar_type,
window_name, &threshold_type,
- max_type, Threshold_Demo ); // Create Trackbar to choose type of Threshold
+ max_type, Threshold_Demo ); // Create a Trackbar to choose type of Threshold
createTrackbar( trackbar_value,
window_name, &threshold_value,
- max_value, Threshold_Demo ); // Create Trackbar to choose Threshold value
+ max_value, Threshold_Demo ); // Create a Trackbar to choose Threshold value
//! [trackbar]
Threshold_Demo( 0, 0 ); // Call the function to initialize
- /// Wait until user finishes program
+ /// Wait until the user finishes the program
waitKey();
return 0;
}
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
+#include "opencv2/videoio.hpp"
#include <iostream>
using namespace cv;
int main( int argc, char** argv )
{
- CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" );
- img_original = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" );
+ img_original = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( img_original.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main(int argc, char** argv)
{
//! [load_image]
- CommandLineParser parser(argc, argv, "{@input | ../data/notes.png | input image}");
- Mat src = imread(parser.get<String>("@input"), IMREAD_COLOR);
+ CommandLineParser parser(argc, argv, "{@input | notes.png | input image}");
+ Mat src = imread( samples::findFile( parser.get<String>("@input") ), IMREAD_COLOR);
if (src.empty())
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
//![load]
- CommandLineParser parser( argc, argv, "{@input | ../data/fruits.jpg | input image}" );
- src = imread( parser.get<String>( "@input" ), IMREAD_COLOR ); // Load an image
+ CommandLineParser parser( argc, argv, "{@input | fruits.jpg | input image}" );
+ src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_COLOR ); // Load an image
if( src.empty() )
{
int main( int argc, char** argv )
{
//! [Load the image]
- CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
const std::string windowName = "Hough Circle Detection Demo";
const std::string cannyThresholdTrackbarName = "Canny threshold";
const std::string accumulatorThresholdTrackbarName = "Accumulator Threshold";
- const std::string usage = "Usage : tutorial_HoughCircle_Demo <path_to_input_image>\n";
// initial and max values of the parameters of interests.
const int cannyThresholdInitialValue = 100;
Mat src, src_gray;
// Read the image
- String imageName("../data/stuff.jpg"); // by default
+ String imageName("stuff.jpg"); // by default
if (argc > 1)
{
imageName = argv[1];
}
- src = imread( imageName, IMREAD_COLOR );
+ src = imread( samples::findFile( imageName ), IMREAD_COLOR );
if( src.empty() )
{
- std::cerr<<"Invalid input image\n";
- std::cout<<usage;
+ std::cerr << "Invalid input image\n";
+ std::cout << "Usage : " << argv[0] << " <path_to_input_image>\n";;
return -1;
}
int main( int argc, char** argv )
{
// Read the image
- String imageName("../data/building.jpg"); // by default
+ String imageName("building.jpg"); // by default
if (argc > 1)
{
imageName = argv[1];
}
- src = imread( imageName, IMREAD_COLOR );
+ src = imread( samples::findFile( imageName ), IMREAD_COLOR );
if( src.empty() )
{ help();
//![variables]
//![load]
- const char* imageName = argc >=2 ? argv[1] : "../data/lena.jpg";
+ const char* imageName = argc >=2 ? argv[1] : "lena.jpg";
- src = imread( imageName, IMREAD_COLOR ); // Load an image
+ src = imread( samples::findFile( imageName ), IMREAD_COLOR ); // Load an image
// Check if image is loaded fine
if(src.empty()){
printf(" Error opening image\n");
- printf(" Program Arguments: [image_name -- default ../data/lena.jpg] \n");
+ printf(" Program Arguments: [image_name -- default lena.jpg] \n");
return -1;
}
//![load]
*/
int main(int argc, const char** argv)
{
- CommandLineParser parser(argc, argv, "{@image |../data/chicky_512.png|input image name}");
+ CommandLineParser parser(argc, argv, "{@image |chicky_512.png|input image name}");
std::string filename = parser.get<std::string>(0);
//! [Load]
/// Load the image
- Mat src = imread( filename, IMREAD_COLOR );
+ Mat src = imread( samples::findFile( filename ), IMREAD_COLOR );
if (src.empty())
{
std::cout << "Cannot read image: " << filename << std::endl;
int main( int argc, char** argv )
{
cv::CommandLineParser parser(argc, argv,
- "{@input |../data/lena.jpg|input image}"
- "{ksize k|1|ksize (hit 'K' to increase its value)}"
- "{scale s|1|scale (hit 'S' to increase its value)}"
- "{delta d|0|delta (hit 'D' to increase its value)}"
+ "{@input |lena.jpg|input image}"
+ "{ksize k|1|ksize (hit 'K' to increase its value at run time)}"
+ "{scale s|1|scale (hit 'S' to increase its value at run time)}"
+ "{delta d|0|delta (hit 'D' to increase its value at run time)}"
"{help h|false|show help message}");
cout << "The sample uses Sobel or Scharr OpenCV functions for edge detection\n\n";
//![load]
String imageName = parser.get<String>("@input");
// As usual we load our source image (src)
- image = imread( imageName, IMREAD_COLOR ); // Load an image
+ image = imread( samples::findFile( imageName ), IMREAD_COLOR ); // Load an image
// Check if image is loaded fine
if( image.empty() )
{
printf("Error opening image: %s\n", imageName.c_str());
- return 1;
+ return EXIT_FAILURE;
}
//![load]
if(key == 27)
{
- return 0;
+ return EXIT_SUCCESS;
}
if (key == 'k' || key == 'K')
delta = 0;
}
}
- return 0;
+ return EXIT_SUCCESS;
}
int main( int argc, char** argv )
{
//![load]
- const char* imageName = argc >=2 ? argv[1] : "../data/lena.jpg";
+ const char* imageName = argc >=2 ? argv[1] : "lena.jpg";
// Loads an image
- src = imread( imageName, IMREAD_COLOR ); // Load an image
+ src = imread( samples::findFile( imageName ), IMREAD_COLOR ); // Load an image
// Check if image is loaded fine
if( src.empty()) {
printf(" Error opening image\n");
- printf(" Program Arguments: [image_name -- default ../data/lena.jpg] \n");
+ printf(" Program Arguments: [image_name -- default lena.jpg] \n");
return -1;
}
//![load]
const char* window_name = "filter2D Demo";
//![load]
- const char* imageName = argc >=2 ? argv[1] : "../data/lena.jpg";
+ const char* imageName = argc >=2 ? argv[1] : "lena.jpg";
// Loads an image
- src = imread( imageName, IMREAD_COLOR ); // Load an image
+ src = imread( samples::findFile( imageName ), IMREAD_COLOR ); // Load an image
if( src.empty() )
{
printf(" Error opening image\n");
- printf(" Program Arguments: [image_name -- default ../data/lena.jpg] \n");
- return -1;
+ printf(" Program Arguments: [image_name -- default lena.jpg] \n");
+ return EXIT_FAILURE;
}
//![load]
ind++;
}
- return 0;
+ return EXIT_SUCCESS;
}
int main(int argc, char** argv)
{
//![load]
- const char* filename = argc >=2 ? argv[1] : "../data/smarties.png";
+ const char* filename = argc >=2 ? argv[1] : "smarties.png";
// Loads an image
- Mat src = imread( filename, IMREAD_COLOR );
+ Mat src = imread( samples::findFile( filename ), IMREAD_COLOR );
// Check if image is loaded fine
if(src.empty()){
printf(" Error opening image\n");
printf(" Program Arguments: [image_name -- default %s] \n", filename);
- return -1;
+ return EXIT_FAILURE;
}
//![load]
waitKey();
//![display]
- return 0;
+ return EXIT_SUCCESS;
}
/**
- * @file houghclines.cpp
+ * @file houghlines.cpp
* @brief This program demonstrates line finding with the Hough transform
*/
Mat dst, cdst, cdstP;
//![load]
- const char* default_file = "../data/sudoku.png";
+ const char* default_file = "sudoku.png";
const char* filename = argc >=2 ? argv[1] : default_file;
// Loads an image
- Mat src = imread( filename, IMREAD_GRAYSCALE );
+ Mat src = imread( samples::findFile( filename ), IMREAD_GRAYSCALE );
// Check if image is loaded fine
if(src.empty()){
{
//! [load_image]
// Load the image
- CommandLineParser parser( argc, argv, "{@input | ../data/cards.png | input image}" );
- Mat src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | cards.png | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
/// Load source image
- CommandLineParser parser( argc, argv, "{@input | ../data/HappyFish.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | HappyFish.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
{
//! [setup]
/// Load source image
- CommandLineParser parser( argc, argv, "{@input | ../data/stuff.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
/// Load source image and convert it to gray
- CommandLineParser parser( argc, argv, "{@input | ../data/stuff.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
/// Load source image and convert it to gray
- CommandLineParser parser( argc, argv, "{@input | ../data/stuff.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
/// Load source image
- CommandLineParser parser( argc, argv, "{@input | ../data/stuff.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
int main( int argc, char** argv )
{
/// Load source image and convert it to gray
- CommandLineParser parser( argc, argv, "{@input | ../data/building.jpg | input image}" );
- src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | building.jpg | input image}" );
+ src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if ( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
/// Load source image and convert it to gray
- CommandLineParser parser( argc, argv, "{@input | ../data/building.jpg | input image}" );
- src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | building.jpg | input image}" );
+ src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if ( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
/// Load source image and convert it to gray
- CommandLineParser parser( argc, argv, "{@input | ../data/pic3.png | input image}" );
- src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | pic3.png | input image}" );
+ src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char** argv )
{
/// Load source image and convert it to gray
- CommandLineParser parser( argc, argv, "{@input | ../data/pic3.png | input image}" );
- src = imread( parser.get<String>( "@input" ) );
+ CommandLineParser parser( argc, argv, "{@input | pic3.png | input image}" );
+ src = imread( samples::findFile( parser.get<String>( "@input" ) ) );
if( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
//![load]
/// Read images ( both have to be of the same size and type )
- src1 = imread( "../data/LinuxLogo.jpg" );
- src2 = imread( "../data/WindowsLogo.jpg" );
+ src1 = imread( samples::findFile("LinuxLogo.jpg") );
+ src2 = imread( samples::findFile("WindowsLogo.jpg") );
//![load]
- if( src1.empty() ) { cout << "Error loading src1" << endl; return -1; }
- if( src2.empty() ) { cout << "Error loading src2" << endl; return -1; }
+ if( src1.empty() ) { cout << "Error loading src1" << endl; return EXIT_FAILURE; }
+ if( src2.empty() ) { cout << "Error loading src2" << endl; return EXIT_FAILURE; }
//![blend_images]
beta = ( 1.0 - alpha );
using namespace cv;
using namespace std;
-static void help(void)
+static void help(char ** argv)
{
cout << endl
<< "This program demonstrated the use of the discrete Fourier transform (DFT). " << endl
- << "The dft of an image is taken and it's power spectrum is displayed." << endl
+ << "The dft of an image is taken and it's power spectrum is displayed." << endl << endl
<< "Usage:" << endl
- << "./discrete_fourier_transform [image_name -- default ../data/lena.jpg]" << endl;
+ << argv[0] << " [image_name -- default lena.jpg]" << endl << endl;
}
int main(int argc, char ** argv)
{
- help();
+ help(argv);
- const char* filename = argc >=2 ? argv[1] : "../data/lena.jpg";
+ const char* filename = argc >=2 ? argv[1] : "lena.jpg";
- Mat I = imread(filename, IMREAD_GRAYSCALE);
+ Mat I = imread( samples::findFile( filename ), IMREAD_GRAYSCALE);
if( I.empty()){
cout << "Error opening image" << endl;
- return -1;
+ return EXIT_FAILURE;
}
//! [expand]
imshow("spectrum magnitude", magI);
waitKey();
- return 0;
+ return EXIT_SUCCESS;
}
<< "This program shows how to filter images with mask: the write it yourself and the"
<< "filter2d way. " << endl
<< "Usage:" << endl
- << progName << " [image_path -- default ../data/lena.jpg] [G -- grayscale] " << endl << endl;
+ << progName << " [image_path -- default lena.jpg] [G -- grayscale] " << endl << endl;
}
int main( int argc, char* argv[])
{
help(argv[0]);
- const char* filename = argc >=2 ? argv[1] : "../data/lena.jpg";
+ const char* filename = argc >=2 ? argv[1] : "lena.jpg";
Mat src, dst0, dst1;
if (argc >= 3 && !strcmp("G", argv[2]))
- src = imread( filename, IMREAD_GRAYSCALE);
+ src = imread( samples::findFile( filename ), IMREAD_GRAYSCALE);
else
- src = imread( filename, IMREAD_COLOR);
+ src = imread( samples::findFile( filename ), IMREAD_COLOR);
if (src.empty())
{
cerr << "Can't open image [" << filename << "]" << endl;
- return -1;
+ return EXIT_FAILURE;
}
namedWindow("Input", WINDOW_AUTOSIZE);
imshow( "Output", dst1 );
waitKey();
- return 0;
+ return EXIT_SUCCESS;
}
//! [basic_method]
void Sharpen(const Mat& myImage,Mat& Result)
{
//! [load]
CommandLineParser parser(argc, argv,
- "{@img1 | ../data/graf1.png | input image 1}"
- "{@img2 | ../data/graf3.png | input image 2}"
- "{@homography | ../data/H1to3p.xml | homography matrix}");
- Mat img1 = imread(parser.get<String>("@img1"), IMREAD_GRAYSCALE);
- Mat img2 = imread(parser.get<String>("@img2"), IMREAD_GRAYSCALE);
+ "{@img1 | graf1.png | input image 1}"
+ "{@img2 | graf3.png | input image 2}"
+ "{@homography | H1to3p.xml | homography matrix}");
+ Mat img1 = imread( samples::findFile( parser.get<String>("@img1") ), IMREAD_GRAYSCALE);
+ Mat img2 = imread( samples::findFile( parser.get<String>("@img2") ), IMREAD_GRAYSCALE);
Mat homography;
- FileStorage fs(parser.get<String>("@homography"), FileStorage::READ);
+ FileStorage fs( samples::findFile( parser.get<String>("@homography") ), FileStorage::READ);
fs.getFirstTopLevelNode() >> homography;
//! [load]
void decomposeHomography(const string &img1Path, const string &img2Path, const Size &patternSize,
const float squareSize, const string &intrinsicsPath)
{
- Mat img1 = imread(img1Path);
- Mat img2 = imread(img2Path);
+ Mat img1 = imread( samples::findFile( img1Path) );
+ Mat img2 = imread( samples::findFile( img2Path) );
vector<Point2f> corners1, corners2;
bool found1 = findChessboardCorners(img1, patternSize, corners1);
vector<Point3f> objectPoints;
calcChessboardCorners(patternSize, squareSize, objectPoints);
- FileStorage fs(intrinsicsPath, FileStorage::READ);
+ FileStorage fs( samples::findFile( intrinsicsPath ), FileStorage::READ);
Mat cameraMatrix, distCoeffs;
fs["camera_matrix"] >> cameraMatrix;
fs["distortion_coefficients"] >> distCoeffs;
const char* params
= "{ help h | | print usage }"
- "{ image1 | ../data/left02.jpg | path to the source chessboard image }"
- "{ image2 | ../data/left01.jpg | path to the desired chessboard image }"
- "{ intrinsics | ../data/left_intrinsics.yml | path to camera intrinsics }"
+ "{ image1 | left02.jpg | path to the source chessboard image }"
+ "{ image2 | left01.jpg | path to the desired chessboard image }"
+ "{ intrinsics | left_intrinsics.yml | path to camera intrinsics }"
"{ width bw | 9 | chessboard width }"
"{ height bh | 6 | chessboard height }"
"{ square_size | 0.025 | chessboard square size }";
void homographyFromCameraDisplacement(const string &img1Path, const string &img2Path, const Size &patternSize,
const float squareSize, const string &intrinsicsPath)
{
- Mat img1 = imread(img1Path);
- Mat img2 = imread(img2Path);
+ Mat img1 = imread( samples::findFile( img1Path ) );
+ Mat img2 = imread( samples::findFile( img2Path ) );
//! [compute-poses]
vector<Point2f> corners1, corners2;
vector<Point3f> objectPoints;
calcChessboardCorners(patternSize, squareSize, objectPoints);
- FileStorage fs(intrinsicsPath, FileStorage::READ);
+ FileStorage fs( samples::findFile( intrinsicsPath ), FileStorage::READ);
Mat cameraMatrix, distCoeffs;
fs["camera_matrix"] >> cameraMatrix;
fs["distortion_coefficients"] >> distCoeffs;
const char* params
= "{ help h | | print usage }"
- "{ image1 | ../data/left02.jpg | path to the source chessboard image }"
- "{ image2 | ../data/left01.jpg | path to the desired chessboard image }"
- "{ intrinsics | ../data/left_intrinsics.yml | path to camera intrinsics }"
+ "{ image1 | left02.jpg | path to the source chessboard image }"
+ "{ image2 | left01.jpg | path to the desired chessboard image }"
+ "{ intrinsics | left_intrinsics.yml | path to camera intrinsics }"
"{ width bw | 9 | chessboard width }"
"{ height bh | 6 | chessboard height }"
"{ square_size | 0.025 | chessboard square size }";
{
void basicPanoramaStitching(const string &img1Path, const string &img2Path)
{
- Mat img1 = imread(img1Path);
- Mat img2 = imread(img2Path);
+ Mat img1 = imread( samples::findFile( img1Path ) );
+ Mat img2 = imread( samples::findFile( img2Path ) );
//! [camera-pose-from-Blender-at-location-1]
Mat c1Mo = (Mat_<double>(4,4) << 0.9659258723258972, 0.2588190734386444, 0.0, 1.5529145002365112,
}
const char* params
- = "{ help h | | print usage }"
- "{ image1 | ../data/Blender_Suzanne1.jpg | path to the first Blender image }"
- "{ image2 | ../data/Blender_Suzanne2.jpg | path to the second Blender image }";
+ = "{ help h | | print usage }"
+ "{ image1 | Blender_Suzanne1.jpg | path to the first Blender image }"
+ "{ image2 | Blender_Suzanne2.jpg | path to the second Blender image }";
}
int main(int argc, char *argv[])
void perspectiveCorrection(const string &img1Path, const string &img2Path, const Size &patternSize, RNG &rng)
{
- Mat img1 = imread(img1Path);
- Mat img2 = imread(img2Path);
+ Mat img1 = imread( samples::findFile(img1Path) );
+ Mat img2 = imread( samples::findFile(img2Path) );
//! [find-corners]
vector<Point2f> corners1, corners2;
const char* params
= "{ help h | | print usage }"
- "{ image1 | ../data/left02.jpg | path to the source chessboard image }"
- "{ image2 | ../data/left01.jpg | path to the desired chessboard image }"
+ "{ image1 | left02.jpg | path to the source chessboard image }"
+ "{ image2 | left01.jpg | path to the desired chessboard image }"
"{ width bw | 9 | chessboard width }"
"{ height bh | 6 | chessboard height }";
}
void poseEstimationFromCoplanarPoints(const string &imgPath, const string &intrinsicsPath, const Size &patternSize,
const float squareSize)
{
- Mat img = imread(imgPath);
+ Mat img = imread( samples::findFile( imgPath) );
Mat img_corners = img.clone(), img_pose = img.clone();
//! [find-chessboard-corners]
//! [compute-object-points]
//! [load-intrinsics]
- FileStorage fs(intrinsicsPath, FileStorage::READ);
+ FileStorage fs( samples::findFile( intrinsicsPath ), FileStorage::READ);
Mat cameraMatrix, distCoeffs;
fs["camera_matrix"] >> cameraMatrix;
fs["distortion_coefficients"] >> distCoeffs;
const char* params
= "{ help h | | print usage }"
- "{ image | ../data/left04.jpg | path to a chessboard image }"
- "{ intrinsics | ../data/left_intrinsics.yml | path to camera intrinsics }"
+ "{ image | left04.jpg | path to a chessboard image }"
+ "{ intrinsics | left_intrinsics.yml | path to camera intrinsics }"
"{ width bw | 9 | chessboard width }"
"{ height bh | 6 | chessboard height }"
"{ square_size | 0.025 | chessboard square size }";
using std::endl;
const char* keys =
- "{ help h | | Print help message. }"
- "{ input1 | ../data/box.png | Path to input image 1. }"
- "{ input2 | ../data/box_in_scene.png | Path to input image 2. }";
+ "{ help h | | Print help message. }"
+ "{ input1 | box.png | Path to input image 1. }"
+ "{ input2 | box_in_scene.png | Path to input image 2. }";
int main( int argc, char* argv[] )
{
CommandLineParser parser( argc, argv, keys );
- Mat img1 = imread( parser.get<String>("input1"), IMREAD_GRAYSCALE );
- Mat img2 = imread( parser.get<String>("input2"), IMREAD_GRAYSCALE );
+ Mat img1 = imread( samples::findFile( parser.get<String>("input1") ), IMREAD_GRAYSCALE );
+ Mat img2 = imread( samples::findFile( parser.get<String>("input2") ), IMREAD_GRAYSCALE );
if ( img1.empty() || img2.empty() )
{
cout << "Could not open or find the image!\n" << endl;
int main( int argc, char* argv[] )
{
- CommandLineParser parser( argc, argv, "{@input | ../data/box.png | input image}" );
- Mat src = imread( parser.get<String>( "@input" ), IMREAD_GRAYSCALE );
+ CommandLineParser parser( argc, argv, "{@input | box.png | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_GRAYSCALE );
if ( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
using std::endl;
const char* keys =
- "{ help h | | Print help message. }"
- "{ input1 | ../data/box.png | Path to input image 1. }"
- "{ input2 | ../data/box_in_scene.png | Path to input image 2. }";
+ "{ help h | | Print help message. }"
+ "{ input1 | box.png | Path to input image 1. }"
+ "{ input2 | box_in_scene.png | Path to input image 2. }";
int main( int argc, char* argv[] )
{
CommandLineParser parser( argc, argv, keys );
- Mat img1 = imread( parser.get<String>("input1"), IMREAD_GRAYSCALE );
- Mat img2 = imread( parser.get<String>("input2"), IMREAD_GRAYSCALE );
+ Mat img1 = imread( samples::findFile( parser.get<String>("input1") ), IMREAD_GRAYSCALE );
+ Mat img2 = imread( samples::findFile( parser.get<String>("input2") ), IMREAD_GRAYSCALE );
if ( img1.empty() || img2.empty() )
{
cout << "Could not open or find the image!\n" << endl;
using std::endl;
const char* keys =
- "{ help h | | Print help message. }"
- "{ input1 | ../data/box.png | Path to input image 1. }"
- "{ input2 | ../data/box_in_scene.png | Path to input image 2. }";
+ "{ help h | | Print help message. }"
+ "{ input1 | box.png | Path to input image 1. }"
+ "{ input2 | box_in_scene.png | Path to input image 2. }";
int main( int argc, char* argv[] )
{
CommandLineParser parser( argc, argv, keys );
- Mat img_object = imread( parser.get<String>("input1"), IMREAD_GRAYSCALE );
- Mat img_scene = imread( parser.get<String>("input2"), IMREAD_GRAYSCALE );
+ Mat img_object = imread( samples::findFile( parser.get<String>("input1") ), IMREAD_GRAYSCALE );
+ Mat img_scene = imread( samples::findFile( parser.get<String>("input2") ), IMREAD_GRAYSCALE );
if ( img_object.empty() || img_scene.empty() )
{
cout << "Could not open or find the image!\n" << endl;
#include <opencv2/highgui.hpp>
#include <iostream>
-#include <string>
//! [includes]
//! [namespace]
using namespace cv;
+using namespace std;
//! [namespace]
-using namespace std;
int main( int argc, char** argv )
{
//! [load]
- String imageName( "../data/HappyFish.jpg" ); // by default
+ String imageName( "HappyFish.jpg" ); // by default
if( argc > 1)
{
imageName = argv[1];
//! [mat]
//! [imread]
- image = imread( imageName, IMREAD_COLOR ); // Read the file
+ image = imread( samples::findFile( imageName ), IMREAD_COLOR ); // Read the file
//! [imread]
if( image.empty() ) // Check for invalid input
{
if( argc != 2)
{
- cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
+ cout <<" Usage: " << argv[0] << " ImageToLoadAndDisplay" << endl;
return -1;
}
waitKey(0); // Wait for a keystroke in the window
return 0;
-}
\ No newline at end of file
+}
{
//! [pre-process]
// Load image
- CommandLineParser parser(argc, argv, "{@input | ../data/pca_test1.jpg | input image}");
+ CommandLineParser parser(argc, argv, "{@input | pca_test1.jpg | input image}");
parser.about( "This program demonstrates how to use OpenCV PCA to extract the orientation of an object.\n" );
parser.printMessage();
- Mat src = imread(parser.get<String>("@input"));
+ Mat src = imread( samples::findFile( parser.get<String>("@input") ) );
// Check if image is loaded successfully
if(src.empty())
imshow("output", src);
waitKey();
- return 0;
+ return EXIT_SUCCESS;
}
#include "opencv2/objdetect.hpp"
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
-
+#include "opencv2/videoio.hpp"
#include <iostream>
using namespace std;
{
CommandLineParser parser(argc, argv,
"{help h||}"
- "{face_cascade|../../data/haarcascades/haarcascade_frontalface_alt.xml|Path to face cascade.}"
- "{eyes_cascade|../../data/haarcascades/haarcascade_eye_tree_eyeglasses.xml|Path to eyes cascade.}"
+ "{face_cascade|data/haarcascades/haarcascade_frontalface_alt.xml|Path to face cascade.}"
+ "{eyes_cascade|data/haarcascades/haarcascade_eye_tree_eyeglasses.xml|Path to eyes cascade.}"
"{camera|0|Camera device number.}");
parser.about( "\nThis program demonstrates using the cv::CascadeClassifier class to detect objects (Face + eyes) in a video stream.\n"
"You can use Haar or LBP features.\n\n" );
parser.printMessage();
- String face_cascade_name = parser.get<String>("face_cascade");
- String eyes_cascade_name = parser.get<String>("eyes_cascade");
+ String face_cascade_name = samples::findFile( parser.get<String>("face_cascade") );
+ String eyes_cascade_name = samples::findFile( parser.get<String>("eyes_cascade") );
//-- 1. Load the cascades
if( !face_cascade.load( face_cascade_name ) )
int main( int argc, char *argv[] )
{
- CommandLineParser parser( argc, argv, "{@input | ../data/HappyFish.jpg | input image}" );
- Mat src = imread( parser.get<String>( "@input" ), IMREAD_COLOR );
+ CommandLineParser parser( argc, argv, "{@input | HappyFish.jpg | input image}" );
+ Mat src = imread( samples::findFile( parser.get<String>( "@input" ) ), IMREAD_COLOR );
if ( src.empty() )
{
cout << "Could not open or find the image!\n" << endl;
cout << "Usage: " << argv[0] << " <Input image>" << endl;
- return -1;
+ return EXIT_FAILURE;
}
- Mat gray = Mat( src.size(), CV_8UC1 );
- Mat color_boost = Mat( src.size(), CV_8UC3 );
+ Mat gray, color_boost;
decolor( src, gray, color_boost );
+ imshow( "Source Image", src );
imshow( "grayscale", gray );
imshow( "color_boost", color_boost );
waitKey(0);
int main(int argc, char* argv[])
{
int num,type;
- CommandLineParser parser(argc, argv, "{@input | ../data/lena.jpg | input image}");
- Mat src = imread(parser.get<String>("@input"), IMREAD_COLOR);
+ CommandLineParser parser(argc, argv, "{@input | lena.jpg | input image}");
+ Mat src = imread( samples::findFile( parser.get<String>("@input") ), IMREAD_COLOR);
if(src.empty())
{
using namespace std;
const char* params
- = "{ help h | | Print usage }"
- "{ input | ../data/vtest.avi | Path to a video or a sequence of image }"
- "{ algo | MOG2 | Background subtraction method (KNN, MOG2) }";
+ = "{ help h | | Print usage }"
+ "{ input | vtest.avi | Path to a video or a sequence of image }"
+ "{ algo | MOG2 | Background subtraction method (KNN, MOG2) }";
int main(int argc, char* argv[])
{
//! [create]
//! [capture]
- VideoCapture capture(parser.get<String>("input"));
+ VideoCapture capture( samples::findFile( parser.get<String>("input") ) );
if (!capture.isOpened()){
//error in opening the video input
cerr << "Unable to open: " << parser.get<String>("input") << endl;
" https://www.bogotobogo.com/python/OpenCV_Python/images/mean_shift_tracking/slow_traffic_small.mp4";
const string keys =
"{ h help | | print this help message }"
- "{ @image |<none>| path to image file }";
+ "{ @image | vtest.avi | path to image file }";
CommandLineParser parser(argc, argv, keys);
parser.about(about);
if (parser.has("help"))
parser.printMessage();
return 0;
}
- string filename = parser.get<string>("@image");
+ string filename = samples::findFile(parser.get<string>("@image"));
if (!parser.check())
{
parser.printErrors();
int main(int argc, char* argv[])
{
CommandLineParser parser(argc, argv,
- "{@img1 | ../data/graf1.png | input image 1}"
- "{@img2 | ../data/graf3.png | input image 2}"
- "{@homography | ../data/H1to3p.xml | homography matrix}");
- Mat img1 = imread(parser.get<String>("@img1"), IMREAD_GRAYSCALE);
- Mat img2 = imread(parser.get<String>("@img2"), IMREAD_GRAYSCALE);
+ "{@img1 | graf1.png | input image 1}"
+ "{@img2 | graf3.png | input image 2}"
+ "{@homography | H1to3p.xml | homography matrix}");
+ Mat img1 = imread( samples::findFile( parser.get<String>("@img1") ), IMREAD_GRAYSCALE);
+ Mat img2 = imread( samples::findFile( parser.get<String>("@img2") ), IMREAD_GRAYSCALE);
Mat homography;
- FileStorage fs(parser.get<String>("@homography"), FileStorage::READ);
+ FileStorage fs( samples::findFile( parser.get<String>("@homography") ), FileStorage::READ);
fs.getFirstTopLevelNode() >> homography;
vector<KeyPoint> kpts1, kpts2;
cout << "\nThis is a demo program shows how perspective transformation applied on an image, \n"
"Using OpenCV version " << CV_VERSION << endl;
- cout << "\nUsage:\n" << argv[0] << " [image_name -- Default data/right.jpg]\n" << endl;
+ cout << "\nUsage:\n" << argv[0] << " [image_name -- Default right.jpg]\n" << endl;
cout << "\nHot keys: \n"
"\tESC, q - quit the program\n"
int main(int argc, char** argv)
{
help(argv);
- CommandLineParser parser(argc, argv, "{@input| data/right.jpg |}");
+ CommandLineParser parser(argc, argv, "{@input| right.jpg |}");
string filename = samples::findFile(parser.get<string>("@input"));
Mat original_image = imread( filename );
{
line(image, roi_corners[i-1], roi_corners[(i)], Scalar(0, 0, 255), 2);
circle(image, roi_corners[i], 5, Scalar(0, 255, 0), 3);
- putText(image, labels[i].c_str(), roi_corners[i], QT_FONT_NORMAL, 0.8, Scalar(255, 0, 0), 2);
+ putText(image, labels[i].c_str(), roi_corners[i], FONT_HERSHEY_SIMPLEX, 0.8, Scalar(255, 0, 0), 2);
}
}
imshow( windowTitle, image );
{
line(image, roi_corners[i], roi_corners[(i + 1) % 4], Scalar(0, 0, 255), 2);
circle(image, roi_corners[i], 5, Scalar(0, 255, 0), 3);
- putText(image, labels[i].c_str(), roi_corners[i], QT_FONT_NORMAL, 0.8, Scalar(255, 0, 0), 2);
+ putText(image, labels[i].c_str(), roi_corners[i], FONT_HERSHEY_SIMPLEX, 0.8, Scalar(255, 0, 0), 2);
}
imshow( windowTitle, image );
using namespace cv;
using namespace std;
-static void help()
+static void help(char** argv)
{
cout << "\nThis program demonstrates the famous watershed segmentation algorithm in OpenCV: watershed()\n"
- "Usage:\n"
- "./watershed [image_name -- default is fruits.jpg]\n" << endl;
+ "Usage:\n" << argv[0] <<" [image_name -- default is fruits.jpg]\n" << endl;
cout << "Hot keys: \n"
cv::CommandLineParser parser(argc, argv, "{help h | | }{ @input | fruits.jpg | }");
if (parser.has("help"))
{
- help();
+ help(argv);
return 0;
}
string filename = samples::findFile(parser.get<string>("@input"));
if( img0.empty() )
{
- cout << "Couldn't open image " << filename << ". Usage: watershed <image_name>\n";
+ cout << "Couldn't open image ";
+ help(argv);
return 0;
}
- help();
+ help(argv);
namedWindow( "image", 1 );
img0.copyTo(img);
#include <opencv2/core/ocl.hpp>
#include <opencv2/core/utility.hpp>
#include "opencv2/imgcodecs.hpp"
-#include <opencv2/video.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/objdetect.hpp>