From f73395122ccc05eb800c494e7be2b1e418c8cd3d Mon Sep 17 00:00:00 2001 From: Suleyman TURKMEN Date: Sun, 28 Jul 2019 12:09:17 +0300 Subject: [PATCH] Update Samples --- samples/cpp/application_trace.cpp | 1 + samples/cpp/demhist.cpp | 8 ++---- samples/cpp/dft.cpp | 11 ++++---- samples/cpp/facedetect.cpp | 1 + samples/cpp/falsecolor.cpp | 9 ++++--- samples/cpp/inpaint.cpp | 7 +++--- samples/cpp/peopledetect.cpp | 8 +++--- samples/cpp/polar_transforms.cpp | 25 +++---------------- samples/cpp/qrcode.cpp | 1 + samples/cpp/smiledetect.cpp | 23 +++++++++-------- samples/cpp/squares.cpp | 4 +-- samples/cpp/train_HOG.cpp | 2 +- .../HighGUI/AddingImagesTrackbar.cpp | 6 ++--- .../HighGUI/BasicLinearTransformsTrackbar.cpp | 6 ++--- .../Histograms_Matching/EqualizeHist_Demo.cpp | 4 +-- .../MatchTemplate_Demo.cpp | 6 ++--- .../Histograms_Matching/calcHist_Demo.cpp | 8 +++--- .../ImgProc/BasicLinearTransforms.cpp | 6 ++--- .../tutorial_code/ImgProc/Morphology_1.cpp | 4 +-- .../tutorial_code/ImgProc/Morphology_2.cpp | 6 ++--- .../ImgProc/Pyramids/Pyramids.cpp | 10 ++++---- .../ImgProc/Smoothing/Smoothing.cpp | 10 ++++---- .../cpp/tutorial_code/ImgProc/Threshold.cpp | 12 ++++----- .../ImgProc/Threshold_inRange.cpp | 1 + .../changing_contrast_brightness_image.cpp | 4 +-- .../morph_lines_detection/Morphology_3.cpp | 4 +-- .../ImgTrans/CannyDetector_Demo.cpp | 4 +-- .../ImgTrans/Geometric_Transforms_Demo.cpp | 4 +-- .../ImgTrans/HoughCircle_Demo.cpp | 9 +++---- .../ImgTrans/HoughLines_Demo.cpp | 4 +-- .../tutorial_code/ImgTrans/Laplace_Demo.cpp | 6 ++--- .../cpp/tutorial_code/ImgTrans/Remap_Demo.cpp | 4 +-- .../cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp | 16 ++++++------ .../ImgTrans/copyMakeBorder_demo.cpp | 6 ++--- .../tutorial_code/ImgTrans/filter2D_demo.cpp | 10 ++++---- .../tutorial_code/ImgTrans/houghcircles.cpp | 8 +++--- .../cpp/tutorial_code/ImgTrans/houghlines.cpp | 6 ++--- .../ImgTrans/imageSegmentation.cpp | 4 +-- .../ShapeDescriptors/findContours_demo.cpp | 4 +-- .../generalContours_demo1.cpp | 4 +-- .../generalContours_demo2.cpp | 4 +-- .../ShapeDescriptors/hull_demo.cpp | 4 +-- .../ShapeDescriptors/moments_demo.cpp | 4 +-- .../TrackingMotion/cornerDetector_Demo.cpp | 4 +-- .../TrackingMotion/cornerHarris_Demo.cpp | 4 +-- .../TrackingMotion/cornerSubPix_Demo.cpp | 4 +-- .../goodFeaturesToTrack_Demo.cpp | 4 +-- .../core/AddingImages/AddingImages.cpp | 8 +++--- .../discrete_fourier_transform.cpp | 16 ++++++------ .../mat_mask_operations.cpp | 12 ++++----- .../tutorial_code/features2D/AKAZE_match.cpp | 12 ++++----- .../Homography/decompose_homography.cpp | 12 ++++----- .../homography_from_camera_displacement.cpp | 12 ++++----- .../panorama_stitching_rotating_camera.cpp | 10 ++++---- .../Homography/perspective_correction.cpp | 8 +++--- .../Homography/pose_from_homography.cpp | 8 +++--- .../SURF_matching_Demo.cpp | 10 ++++---- .../feature_detection/SURF_detection_Demo.cpp | 4 +-- .../SURF_FLANN_matching_Demo.cpp | 10 ++++---- .../SURF_FLANN_matching_homography_Demo.cpp | 10 ++++---- .../display_image/display_image.cpp | 7 +++--- .../introduction_windows_vs.cpp | 4 +-- .../introduction_to_pca.cpp | 6 ++--- .../objectDetection/objectDetection.cpp | 10 ++++---- .../photo/decolorization/decolor.cpp | 10 ++++---- .../non_photorealistic_rendering/npr_demo.cpp | 4 +-- samples/cpp/tutorial_code/video/bg_sub.cpp | 8 +++--- .../video/optical_flow/optical_flow.cpp | 4 +-- .../tutorial_code/xfeatures2D/LATCH_match.cpp | 12 ++++----- samples/cpp/warpPerspective_demo.cpp | 8 +++--- samples/cpp/watershed.cpp | 12 ++++----- samples/tapi/hog.cpp | 1 - 72 files changed, 251 insertions(+), 271 deletions(-) diff --git a/samples/cpp/application_trace.cpp b/samples/cpp/application_trace.cpp index 4c03e48c0c..3ad06a4ccd 100644 --- a/samples/cpp/application_trace.cpp +++ b/samples/cpp/application_trace.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include using namespace cv; diff --git a/samples/cpp/demhist.cpp b/samples/cpp/demhist.cpp index 3e416b32ad..4a564af402 100644 --- a/samples/cpp/demhist.cpp +++ b/samples/cpp/demhist.cpp @@ -56,11 +56,6 @@ static void updateBrightnessContrast( int /*arg*/, void* ) 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 = { @@ -70,9 +65,10 @@ 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(0); diff --git a/samples/cpp/dft.cpp b/samples/cpp/dft.cpp index 652ffb3dca..f57ae3f8ae 100644 --- a/samples/cpp/dft.cpp +++ b/samples/cpp/dft.cpp @@ -9,12 +9,11 @@ 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 = @@ -24,18 +23,18 @@ 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(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; } diff --git a/samples/cpp/facedetect.cpp b/samples/cpp/facedetect.cpp index 88d632b408..cf3a2a3e2f 100644 --- a/samples/cpp/facedetect.cpp +++ b/samples/cpp/facedetect.cpp @@ -1,6 +1,7 @@ #include "opencv2/objdetect.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" +#include "opencv2/videoio.hpp" #include using namespace std; diff --git a/samples/cpp/falsecolor.cpp b/samples/cpp/falsecolor.cpp index cb074bdcf0..ed422b39c1 100644 --- a/samples/cpp/falsecolor.cpp +++ b/samples/cpp/falsecolor.cpp @@ -14,15 +14,16 @@ struct ParamColorMap { }; 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)); @@ -98,7 +99,7 @@ int main(int argc, char** argv) 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); diff --git a/samples/cpp/inpaint.cpp b/samples/cpp/inpaint.cpp index 175bff828c..cabf5528b4 100644 --- a/samples/cpp/inpaint.cpp +++ b/samples/cpp/inpaint.cpp @@ -8,13 +8,12 @@ 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" @@ -48,7 +47,7 @@ static void onMouse( int event, int x, int y, int flags, void* ) int main( int argc, char** argv ) { cv::CommandLineParser parser(argc, argv, "{@image|fruits.jpg|}"); - help(); + help(argv); string filename = samples::findFile(parser.get("@image")); Mat img0 = imread(filename, IMREAD_COLOR); diff --git a/samples/cpp/peopledetect.cpp b/samples/cpp/peopledetect.cpp index c7640db0b7..9671f3b78c 100644 --- a/samples/cpp/peopledetect.cpp +++ b/samples/cpp/peopledetect.cpp @@ -31,9 +31,9 @@ public: // groupThreshold (set groupThreshold to 0 to turn off the grouping completely). vector 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 @@ -54,7 +54,7 @@ static const string keys = "{ help h | | print help message }" 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(); @@ -114,7 +114,7 @@ int main(int argc, char** argv) 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; diff --git a/samples/cpp/polar_transforms.cpp b/samples/cpp/polar_transforms.cpp index b9b73c64cf..cdd653a29e 100644 --- a/samples/cpp/polar_transforms.cpp +++ b/samples/cpp/polar_transforms.cpp @@ -1,24 +1,18 @@ #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" +#include "opencv2/videoio.hpp" #include 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("@input"); if( arg.size() == 1 && isdigit(arg[0]) ) @@ -28,9 +22,7 @@ int main( int argc, char** argv ) if( !capture.isOpened() ) { - const char* name = argv[0]; fprintf(stderr,"Could not initialize capturing...\n"); - fprintf(stderr,"Usage: %s , or \n %s \n", name, name); return -1; } @@ -102,15 +94,6 @@ int main( int argc, char** argv ) 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); diff --git a/samples/cpp/qrcode.cpp b/samples/cpp/qrcode.cpp index 41c19f1e5d..1e938f66f1 100644 --- a/samples/cpp/qrcode.cpp +++ b/samples/cpp/qrcode.cpp @@ -1,6 +1,7 @@ #include "opencv2/objdetect.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" +#include "opencv2/videoio.hpp" #include #include diff --git a/samples/cpp/smiledetect.cpp b/samples/cpp/smiledetect.cpp index ceac5e9686..4da0ce87e9 100644 --- a/samples/cpp/smiledetect.cpp +++ b/samples/cpp/smiledetect.cpp @@ -1,22 +1,23 @@ #include "opencv2/objdetect.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" +#include "opencv2/videoio.hpp" #include 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= this is the frontal face classifier]\n" + "Usage:\n" << + argv[0] << " [--cascade= this is the frontal face classifier]\n" " [--smile-cascade=[]]\n" " [--scale=]\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; } @@ -35,7 +36,7 @@ int main( int argc, const char** argv ) string inputName; bool tryflip; - help(); + help(argv); CascadeClassifier cascade, nestedCascade; double scale; @@ -46,7 +47,7 @@ int main( int argc, const char** argv ) "{try-flip||}{@input||}"); if (parser.has("help")) { - help(); + help(argv); return 0; } cascadeName = samples::findFile(parser.get("cascade")); @@ -56,7 +57,7 @@ int main( int argc, const char** argv ) scale = parser.get("scale"); if (!parser.check()) { - help(); + help(argv); return 1; } if (scale < 1) @@ -64,13 +65,13 @@ int main( int argc, const char** argv ) 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) ) @@ -108,7 +109,7 @@ int main( int argc, const char** argv ) else { cerr << "ERROR: Could not initiate capture" << endl; - help(); + help(argv); return -1; } diff --git a/samples/cpp/squares.cpp b/samples/cpp/squares.cpp index b466e32e97..36535d1ee0 100644 --- a/samples/cpp/squares.cpp +++ b/samples/cpp/squares.cpp @@ -138,8 +138,8 @@ static void drawSquares( Mat& image, const vector >& squares ) 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) diff --git a/samples/cpp/train_HOG.cpp b/samples/cpp/train_HOG.cpp index 3a1527d8f4..356ff0ec3f 100644 --- a/samples/cpp/train_HOG.cpp +++ b/samples/cpp/train_HOG.cpp @@ -2,7 +2,7 @@ #include "opencv2/highgui.hpp" #include "opencv2/ml.hpp" #include "opencv2/objdetect.hpp" - +#include "opencv2/videoio.hpp" #include #include diff --git a/samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp b/samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp index dce34e7eb4..eeeba0002d 100644 --- a/samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp +++ b/samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp @@ -1,5 +1,5 @@ /** - * @file LinearBlend.cpp + * @file AddingImagesTrackbar.cpp * @brief Simple linear blender ( dst = alpha*src1 + beta*src2 ) * @author OpenCV team */ @@ -44,8 +44,8 @@ int main( void ) { //![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; } diff --git a/samples/cpp/tutorial_code/HighGUI/BasicLinearTransformsTrackbar.cpp b/samples/cpp/tutorial_code/HighGUI/BasicLinearTransformsTrackbar.cpp index 12cdebf00f..cdd33fb57b 100644 --- a/samples/cpp/tutorial_code/HighGUI/BasicLinearTransformsTrackbar.cpp +++ b/samples/cpp/tutorial_code/HighGUI/BasicLinearTransformsTrackbar.cpp @@ -1,5 +1,5 @@ /** - * @file LinearTransforms.cpp + * @file BasicLinearTransformsTrackbar.cpp * @brief Simple program to change contrast and brightness * @date Mon, June 6, 2011 * @author OpenCV team @@ -44,12 +44,12 @@ static void on_trackbar( int, void* ) 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; diff --git a/samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp b/samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp index 8f5492b4d4..7f1c55b868 100644 --- a/samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp +++ b/samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp @@ -18,8 +18,8 @@ using namespace std; int main( int argc, char** argv ) { //! [Load image] - CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" ); - Mat src = imread( parser.get( "@input" ), IMREAD_COLOR ); + CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ), IMREAD_COLOR ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp b/samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp index f2f0ec03c5..5bcc878965 100644 --- a/samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp +++ b/samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp @@ -34,7 +34,7 @@ int main( int argc, char** argv ) if (argc < 3) { cout << "Not enough parameters" << endl; - cout << "Usage:\n./MatchTemplate_Demo []" << endl; + cout << "Usage:\n" << argv[0] << " []" << endl; return -1; } @@ -51,7 +51,7 @@ int main( int argc, char** argv ) 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] @@ -71,7 +71,7 @@ int main( int argc, char** argv ) //! [wait_key] waitKey(0); - return 0; + return EXIT_SUCCESS; //! [wait_key] } diff --git a/samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp b/samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp index fc45fc24dc..86167e519a 100644 --- a/samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp +++ b/samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp @@ -18,11 +18,11 @@ using namespace cv; int main(int argc, char** argv) { //! [Load image] - CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" ); - Mat src = imread( parser.get( "@input" ), IMREAD_COLOR ); + CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ), IMREAD_COLOR ); if( src.empty() ) { - return -1; + return EXIT_FAILURE; } //! [Load image] @@ -85,5 +85,5 @@ int main(int argc, char** argv) waitKey(); //! [Display] - return 0; + return EXIT_SUCCESS; } diff --git a/samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp b/samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp index 0e6cb0a6ad..dc7b849f42 100644 --- a/samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp +++ b/samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp @@ -22,8 +22,8 @@ int main( int argc, char** argv ) { /// Read image given by user //! [basic-linear-transform-load] - CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" ); - Mat image = imread( parser.get( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" ); + Mat image = imread( samples::findFile( parser.get( "@input" ) ) ); if( image.empty() ) { cout << "Could not open or find the image!\n" << endl; @@ -67,7 +67,7 @@ int main( int argc, char** argv ) 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; diff --git a/samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp b/samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp index 4f5ab98a93..48b0c2e6e3 100644 --- a/samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp +++ b/samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp @@ -31,8 +31,8 @@ void Dilation( int, void* ); int main( int argc, char** argv ) { /// Load an image - CommandLineParser parser( argc, argv, "{@input | ../data/LinuxLogo.jpg | input image}" ); - src = imread( parser.get( "@input" ), IMREAD_COLOR ); + CommandLineParser parser( argc, argv, "{@input | LinuxLogo.jpg | input image}" ); + src = imread( samples::findFile( parser.get( "@input" ) ), IMREAD_COLOR ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ImgProc/Morphology_2.cpp b/samples/cpp/tutorial_code/ImgProc/Morphology_2.cpp index ce71a3b118..3bc40d3b0d 100644 --- a/samples/cpp/tutorial_code/ImgProc/Morphology_2.cpp +++ b/samples/cpp/tutorial_code/ImgProc/Morphology_2.cpp @@ -33,13 +33,13 @@ void Morphology_Operations( int, void* ); int main( int argc, char** argv ) { //![load] - CommandLineParser parser( argc, argv, "{@input | ../data/baboon.jpg | input image}" ); - src = imread( parser.get( "@input" ), IMREAD_COLOR ); + CommandLineParser parser( argc, argv, "{@input | baboon.jpg | input image}" ); + src = imread( samples::findFile( parser.get( "@input" ) ), IMREAD_COLOR ); if (src.empty()) { std::cout << "Could not open or find the image!\n" << std::endl; std::cout << "Usage: " << argv[0] << " " << std::endl; - return -1; + return EXIT_FAILURE; } //![load] diff --git a/samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp b/samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp index 1cc7bf2edc..22192b5a4c 100644 --- a/samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp +++ b/samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp @@ -27,16 +27,16 @@ int main( int argc, char** argv ) " * [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] @@ -65,5 +65,5 @@ int main( int argc, char** argv ) } //![loop] - return 0; + return EXIT_SUCCESS; } diff --git a/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp b/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp index 34d5733f75..f561c543fb 100644 --- a/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp +++ b/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp @@ -33,14 +33,14 @@ int main( int argc, char ** argv ) 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 ) diff --git a/samples/cpp/tutorial_code/ImgProc/Threshold.cpp b/samples/cpp/tutorial_code/ImgProc/Threshold.cpp index a0f4b8894e..e44291c3a4 100644 --- a/samples/cpp/tutorial_code/ImgProc/Threshold.cpp +++ b/samples/cpp/tutorial_code/ImgProc/Threshold.cpp @@ -49,16 +49,16 @@ static void Threshold_Demo( int, void* ) 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; } @@ -72,16 +72,16 @@ int main( int argc, char** argv ) //! [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; } diff --git a/samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp b/samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp index 0320e5a743..d2ced1fcfd 100644 --- a/samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp +++ b/samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp @@ -1,5 +1,6 @@ #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" +#include "opencv2/videoio.hpp" #include using namespace cv; diff --git a/samples/cpp/tutorial_code/ImgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.cpp b/samples/cpp/tutorial_code/ImgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.cpp index 7c977a37b9..51936c4b5e 100644 --- a/samples/cpp/tutorial_code/ImgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.cpp +++ b/samples/cpp/tutorial_code/ImgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.cpp @@ -64,8 +64,8 @@ void on_gamma_correction_trackbar(int, void *) int main( int argc, char** argv ) { - CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" ); - img_original = imread( parser.get( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" ); + img_original = imread( samples::findFile( parser.get( "@input" ) ) ); if( img_original.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp b/samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp index ac10f9cff1..9a909de966 100644 --- a/samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp +++ b/samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp @@ -17,8 +17,8 @@ using namespace cv; int main(int argc, char** argv) { //! [load_image] - CommandLineParser parser(argc, argv, "{@input | ../data/notes.png | input image}"); - Mat src = imread(parser.get("@input"), IMREAD_COLOR); + CommandLineParser parser(argc, argv, "{@input | notes.png | input image}"); + Mat src = imread( samples::findFile( parser.get("@input") ), IMREAD_COLOR); if (src.empty()) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp b/samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp index cd65f154ab..0ac1a969bd 100644 --- a/samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp @@ -58,8 +58,8 @@ static void CannyThreshold(int, void*) int main( int argc, char** argv ) { //![load] - CommandLineParser parser( argc, argv, "{@input | ../data/fruits.jpg | input image}" ); - src = imread( parser.get( "@input" ), IMREAD_COLOR ); // Load an image + CommandLineParser parser( argc, argv, "{@input | fruits.jpg | input image}" ); + src = imread( samples::findFile( parser.get( "@input" ) ), IMREAD_COLOR ); // Load an image if( src.empty() ) { diff --git a/samples/cpp/tutorial_code/ImgTrans/Geometric_Transforms_Demo.cpp b/samples/cpp/tutorial_code/ImgTrans/Geometric_Transforms_Demo.cpp index 2e91467f25..65ca184749 100644 --- a/samples/cpp/tutorial_code/ImgTrans/Geometric_Transforms_Demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/Geometric_Transforms_Demo.cpp @@ -18,8 +18,8 @@ using namespace std; int main( int argc, char** argv ) { //! [Load the image] - CommandLineParser parser( argc, argv, "{@input | ../data/lena.jpg | input image}" ); - Mat src = imread( parser.get( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | lena.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp b/samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp index a1c3b1eac2..ea081f496a 100644 --- a/samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp @@ -18,7 +18,6 @@ namespace 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 \n"; // initial and max values of the parameters of interests. const int cannyThresholdInitialValue = 100; @@ -56,17 +55,17 @@ int main(int argc, char** argv) 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<\n";; return -1; } diff --git a/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp b/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp index 213d07cbc3..12fa051ba3 100644 --- a/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp @@ -38,12 +38,12 @@ void Probabilistic_Hough( int, void* ); 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(); diff --git a/samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp b/samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp index 80b6e84344..0c8b1f1674 100644 --- a/samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp @@ -26,14 +26,14 @@ int main( int argc, char** argv ) //![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] diff --git a/samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp b/samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp index 9a9147899c..d4ff193c3f 100644 --- a/samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp @@ -19,11 +19,11 @@ void update_map( int &ind, Mat &map_x, Mat &map_y ); */ 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(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; diff --git a/samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp b/samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp index 16661d8d31..9b48f6aa77 100644 --- a/samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp @@ -19,10 +19,10 @@ using namespace std; 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"; @@ -43,13 +43,13 @@ int main( int argc, char** argv ) //![load] String imageName = parser.get("@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] @@ -95,7 +95,7 @@ int main( int argc, char** argv ) if(key == 27) { - return 0; + return EXIT_SUCCESS; } if (key == 'k' || key == 'K') @@ -120,5 +120,5 @@ int main( int argc, char** argv ) delta = 0; } } - return 0; + return EXIT_SUCCESS; } diff --git a/samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp b/samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp index 52c7610389..2eeff1cf0d 100644 --- a/samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp @@ -25,15 +25,15 @@ RNG rng(12345); 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] diff --git a/samples/cpp/tutorial_code/ImgTrans/filter2D_demo.cpp b/samples/cpp/tutorial_code/ImgTrans/filter2D_demo.cpp index 3b7f3a96b5..37fb6f6efa 100644 --- a/samples/cpp/tutorial_code/ImgTrans/filter2D_demo.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/filter2D_demo.cpp @@ -26,16 +26,16 @@ int main ( int argc, char** argv ) 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] @@ -70,5 +70,5 @@ int main ( int argc, char** argv ) ind++; } - return 0; + return EXIT_SUCCESS; } diff --git a/samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp b/samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp index 2a869413b3..0cec4456a5 100644 --- a/samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp @@ -12,16 +12,16 @@ using namespace std; 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] @@ -61,5 +61,5 @@ int main(int argc, char** argv) waitKey(); //![display] - return 0; + return EXIT_SUCCESS; } diff --git a/samples/cpp/tutorial_code/ImgTrans/houghlines.cpp b/samples/cpp/tutorial_code/ImgTrans/houghlines.cpp index 0211d6cde2..0052c185bc 100644 --- a/samples/cpp/tutorial_code/ImgTrans/houghlines.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/houghlines.cpp @@ -1,5 +1,5 @@ /** - * @file houghclines.cpp + * @file houghlines.cpp * @brief This program demonstrates line finding with the Hough transform */ @@ -16,11 +16,11 @@ int main(int argc, char** argv) 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()){ diff --git a/samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp b/samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp index d038cbd874..201466e99b 100644 --- a/samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp +++ b/samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp @@ -15,8 +15,8 @@ int main(int argc, char *argv[]) { //! [load_image] // Load the image - CommandLineParser parser( argc, argv, "{@input | ../data/cards.png | input image}" ); - Mat src = imread( parser.get( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | cards.png | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp b/samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp index 1083657ead..15990b515e 100644 --- a/samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp +++ b/samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp @@ -25,8 +25,8 @@ void thresh_callback(int, void* ); int main( int argc, char** argv ) { /// Load source image - CommandLineParser parser( argc, argv, "{@input | ../data/HappyFish.jpg | input image}" ); - Mat src = imread( parser.get( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | HappyFish.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp b/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp index f8eb194378..68fa2b97c5 100644 --- a/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp +++ b/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp @@ -26,8 +26,8 @@ int main( int argc, char** argv ) { //! [setup] /// Load source image - CommandLineParser parser( argc, argv, "{@input | ../data/stuff.jpg | input image}" ); - Mat src = imread( parser.get( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp b/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp index 2018b64bb2..81e5fd7588 100644 --- a/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp +++ b/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp @@ -25,8 +25,8 @@ void thresh_callback(int, void* ); 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( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp b/samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp index 6640286feb..3b46f9e9b0 100644 --- a/samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp +++ b/samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp @@ -25,8 +25,8 @@ void thresh_callback(int, void* ); 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( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp b/samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp index eaccd14e83..9b243ca53c 100644 --- a/samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp +++ b/samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp @@ -26,8 +26,8 @@ void thresh_callback(int, void* ); int main( int argc, char** argv ) { /// Load source image - CommandLineParser parser( argc, argv, "{@input | ../data/stuff.jpg | input image}" ); - Mat src = imread( parser.get( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | stuff.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { diff --git a/samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp b/samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp index 894b01ce56..a43024e557 100644 --- a/samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp +++ b/samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp @@ -38,8 +38,8 @@ void myHarris_function( int, void* ); 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( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | building.jpg | input image}" ); + src = imread( samples::findFile( parser.get( "@input" ) ) ); if ( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp b/samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp index 35672706bc..298f9523d3 100644 --- a/samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp +++ b/samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp @@ -28,8 +28,8 @@ void cornerHarris_demo( int, void* ); 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( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | building.jpg | input image}" ); + src = imread( samples::findFile( parser.get( "@input" ) ) ); if ( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp b/samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp index 853078bada..5004496a82 100644 --- a/samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp +++ b/samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp @@ -29,8 +29,8 @@ void goodFeaturesToTrack_Demo( int, void* ); 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( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | pic3.png | input image}" ); + src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp b/samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp index 022cd456d1..f306f30414 100644 --- a/samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp +++ b/samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp @@ -30,8 +30,8 @@ void goodFeaturesToTrack_Demo( int, void* ); 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( "@input" ) ); + CommandLineParser parser( argc, argv, "{@input | pic3.png | input image}" ); + src = imread( samples::findFile( parser.get( "@input" ) ) ); if( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/core/AddingImages/AddingImages.cpp b/samples/cpp/tutorial_code/core/AddingImages/AddingImages.cpp index 1181894482..83644b62bc 100644 --- a/samples/cpp/tutorial_code/core/AddingImages/AddingImages.cpp +++ b/samples/cpp/tutorial_code/core/AddingImages/AddingImages.cpp @@ -36,12 +36,12 @@ int main( void ) //![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 ); diff --git a/samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp b/samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp index 7121b16b35..e9e8096b31 100644 --- a/samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp +++ b/samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp @@ -8,25 +8,25 @@ 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] @@ -91,5 +91,5 @@ int main(int argc, char ** argv) imshow("spectrum magnitude", magI); waitKey(); - return 0; + return EXIT_SUCCESS; } diff --git a/samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp b/samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp index 53a0cc40b5..0fece804b2 100644 --- a/samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp +++ b/samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp @@ -12,7 +12,7 @@ static void help(char* progName) << "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; } @@ -21,19 +21,19 @@ void Sharpen(const Mat& myImage,Mat& Result); 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); @@ -67,7 +67,7 @@ int main( int argc, char* argv[]) imshow( "Output", dst1 ); waitKey(); - return 0; + return EXIT_SUCCESS; } //! [basic_method] void Sharpen(const Mat& myImage,Mat& Result) diff --git a/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp b/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp index b5b1b9229e..c5978e97fd 100755 --- a/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp +++ b/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp @@ -13,14 +13,14 @@ int main(int argc, char* argv[]) { //! [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("@img1"), IMREAD_GRAYSCALE); - Mat img2 = imread(parser.get("@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("@img1") ), IMREAD_GRAYSCALE); + Mat img2 = imread( samples::findFile( parser.get("@img2") ), IMREAD_GRAYSCALE); Mat homography; - FileStorage fs(parser.get("@homography"), FileStorage::READ); + FileStorage fs( samples::findFile( parser.get("@homography") ), FileStorage::READ); fs.getFirstTopLevelNode() >> homography; //! [load] diff --git a/samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp b/samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp index 5f671bbc13..acc2faa88b 100644 --- a/samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp +++ b/samples/cpp/tutorial_code/features2D/Homography/decompose_homography.cpp @@ -52,8 +52,8 @@ void computeC2MC1(const Mat &R1, const Mat &tvec1, const Mat &R2, const Mat &tve 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 corners1, corners2; bool found1 = findChessboardCorners(img1, patternSize, corners1); @@ -69,7 +69,7 @@ void decomposeHomography(const string &img1Path, const string &img2Path, const S vector 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; @@ -154,9 +154,9 @@ void decomposeHomography(const string &img1Path, const string &img2Path, const S 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 }"; diff --git a/samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp b/samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp index b0bb4da1cc..5bcb6dbb7b 100644 --- a/samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp +++ b/samples/cpp/tutorial_code/features2D/Homography/homography_from_camera_displacement.cpp @@ -65,8 +65,8 @@ void computeC2MC1(const Mat &R1, const Mat &tvec1, const Mat &R2, const Mat &tve 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 corners1, corners2; @@ -82,7 +82,7 @@ void homographyFromCameraDisplacement(const string &img1Path, const string &img2 vector 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; @@ -170,9 +170,9 @@ void homographyFromCameraDisplacement(const string &img1Path, const string &img2 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 }"; diff --git a/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp b/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp index 1dadb4c354..3ab29280ae 100755 --- a/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp +++ b/samples/cpp/tutorial_code/features2D/Homography/panorama_stitching_rotating_camera.cpp @@ -10,8 +10,8 @@ namespace { 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_(4,4) << 0.9659258723258972, 0.2588190734386444, 0.0, 1.5529145002365112, @@ -67,9 +67,9 @@ void basicPanoramaStitching(const string &img1Path, const string &img2Path) } 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[]) diff --git a/samples/cpp/tutorial_code/features2D/Homography/perspective_correction.cpp b/samples/cpp/tutorial_code/features2D/Homography/perspective_correction.cpp index 91abddffea..9d5bc2442e 100644 --- a/samples/cpp/tutorial_code/features2D/Homography/perspective_correction.cpp +++ b/samples/cpp/tutorial_code/features2D/Homography/perspective_correction.cpp @@ -19,8 +19,8 @@ Scalar randomColor( RNG& rng ) 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 corners1, corners2; @@ -68,8 +68,8 @@ void perspectiveCorrection(const string &img1Path, const string &img2Path, const 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 }"; } diff --git a/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp b/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp index 9be865eaab..37ebcac7be 100644 --- a/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp +++ b/samples/cpp/tutorial_code/features2D/Homography/pose_from_homography.cpp @@ -42,7 +42,7 @@ void calcChessboardCorners(Size boardSize, float squareSize, vector& co 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] @@ -69,7 +69,7 @@ void poseEstimationFromCoplanarPoints(const string &imgPath, const string &intri //! [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; @@ -126,8 +126,8 @@ void poseEstimationFromCoplanarPoints(const string &imgPath, const string &intri 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 }"; diff --git a/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp b/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp index 3fb34e9f1b..5c307bb1e2 100755 --- a/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp +++ b/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp @@ -11,15 +11,15 @@ using std::cout; 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("input1"), IMREAD_GRAYSCALE ); - Mat img2 = imread( parser.get("input2"), IMREAD_GRAYSCALE ); + Mat img1 = imread( samples::findFile( parser.get("input1") ), IMREAD_GRAYSCALE ); + Mat img2 = imread( samples::findFile( parser.get("input2") ), IMREAD_GRAYSCALE ); if ( img1.empty() || img2.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp b/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp index ba9494ed2c..f1256e65e2 100755 --- a/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp +++ b/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp @@ -12,8 +12,8 @@ using std::endl; int main( int argc, char* argv[] ) { - CommandLineParser parser( argc, argv, "{@input | ../data/box.png | input image}" ); - Mat src = imread( parser.get( "@input" ), IMREAD_GRAYSCALE ); + CommandLineParser parser( argc, argv, "{@input | box.png | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ), IMREAD_GRAYSCALE ); if ( src.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp b/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp index 1724709828..e968ab2a0f 100755 --- a/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp +++ b/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp @@ -11,15 +11,15 @@ using std::cout; 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("input1"), IMREAD_GRAYSCALE ); - Mat img2 = imread( parser.get("input2"), IMREAD_GRAYSCALE ); + Mat img1 = imread( samples::findFile( parser.get("input1") ), IMREAD_GRAYSCALE ); + Mat img2 = imread( samples::findFile( parser.get("input2") ), IMREAD_GRAYSCALE ); if ( img1.empty() || img2.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp b/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp index 231cda887d..2aa0bcd9cb 100755 --- a/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp +++ b/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp @@ -13,15 +13,15 @@ using std::cout; 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("input1"), IMREAD_GRAYSCALE ); - Mat img_scene = imread( parser.get("input2"), IMREAD_GRAYSCALE ); + Mat img_object = imread( samples::findFile( parser.get("input1") ), IMREAD_GRAYSCALE ); + Mat img_scene = imread( samples::findFile( parser.get("input2") ), IMREAD_GRAYSCALE ); if ( img_object.empty() || img_scene.empty() ) { cout << "Could not open or find the image!\n" << endl; diff --git a/samples/cpp/tutorial_code/introduction/display_image/display_image.cpp b/samples/cpp/tutorial_code/introduction/display_image/display_image.cpp index 456286741e..80151ec8a9 100644 --- a/samples/cpp/tutorial_code/introduction/display_image/display_image.cpp +++ b/samples/cpp/tutorial_code/introduction/display_image/display_image.cpp @@ -4,19 +4,18 @@ #include #include -#include //! [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]; @@ -28,7 +27,7 @@ int main( int argc, char** argv ) //! [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 diff --git a/samples/cpp/tutorial_code/introduction/windows_visual_studio_opencv/introduction_windows_vs.cpp b/samples/cpp/tutorial_code/introduction/windows_visual_studio_opencv/introduction_windows_vs.cpp index 41fe2b1e9c..0080e2c74d 100644 --- a/samples/cpp/tutorial_code/introduction/windows_visual_studio_opencv/introduction_windows_vs.cpp +++ b/samples/cpp/tutorial_code/introduction/windows_visual_studio_opencv/introduction_windows_vs.cpp @@ -10,7 +10,7 @@ int main( int argc, char** argv ) { if( argc != 2) { - cout <<" Usage: display_image ImageToLoadAndDisplay" << endl; + cout <<" Usage: " << argv[0] << " ImageToLoadAndDisplay" << endl; return -1; } @@ -28,4 +28,4 @@ int main( int argc, char** argv ) waitKey(0); // Wait for a keystroke in the window return 0; -} \ No newline at end of file +} diff --git a/samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp b/samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp index aa6107c120..c0ca672436 100644 --- a/samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp +++ b/samples/cpp/tutorial_code/ml/introduction_to_pca/introduction_to_pca.cpp @@ -96,11 +96,11 @@ int main(int argc, char** argv) { //! [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("@input")); + Mat src = imread( samples::findFile( parser.get("@input") ) ); // Check if image is loaded successfully if(src.empty()) @@ -142,5 +142,5 @@ int main(int argc, char** argv) imshow("output", src); waitKey(); - return 0; + return EXIT_SUCCESS; } diff --git a/samples/cpp/tutorial_code/objectDetection/objectDetection.cpp b/samples/cpp/tutorial_code/objectDetection/objectDetection.cpp index 2115549e30..063aeb26c6 100644 --- a/samples/cpp/tutorial_code/objectDetection/objectDetection.cpp +++ b/samples/cpp/tutorial_code/objectDetection/objectDetection.cpp @@ -1,7 +1,7 @@ #include "opencv2/objdetect.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgproc.hpp" - +#include "opencv2/videoio.hpp" #include using namespace std; @@ -19,16 +19,16 @@ int main( int argc, const char** argv ) { 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("face_cascade"); - String eyes_cascade_name = parser.get("eyes_cascade"); + String face_cascade_name = samples::findFile( parser.get("face_cascade") ); + String eyes_cascade_name = samples::findFile( parser.get("eyes_cascade") ); //-- 1. Load the cascades if( !face_cascade.load( face_cascade_name ) ) diff --git a/samples/cpp/tutorial_code/photo/decolorization/decolor.cpp b/samples/cpp/tutorial_code/photo/decolorization/decolor.cpp index c566dc7125..3ad42820c4 100644 --- a/samples/cpp/tutorial_code/photo/decolorization/decolor.cpp +++ b/samples/cpp/tutorial_code/photo/decolorization/decolor.cpp @@ -26,18 +26,18 @@ using namespace cv; int main( int argc, char *argv[] ) { - CommandLineParser parser( argc, argv, "{@input | ../data/HappyFish.jpg | input image}" ); - Mat src = imread( parser.get( "@input" ), IMREAD_COLOR ); + CommandLineParser parser( argc, argv, "{@input | HappyFish.jpg | input image}" ); + Mat src = imread( samples::findFile( parser.get( "@input" ) ), IMREAD_COLOR ); if ( src.empty() ) { cout << "Could not open or find the image!\n" << endl; cout << "Usage: " << argv[0] << " " << 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); diff --git a/samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp b/samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp index 244e31ad58..c2d8864009 100644 --- a/samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp +++ b/samples/cpp/tutorial_code/photo/non_photorealistic_rendering/npr_demo.cpp @@ -25,8 +25,8 @@ using namespace cv; int main(int argc, char* argv[]) { int num,type; - CommandLineParser parser(argc, argv, "{@input | ../data/lena.jpg | input image}"); - Mat src = imread(parser.get("@input"), IMREAD_COLOR); + CommandLineParser parser(argc, argv, "{@input | lena.jpg | input image}"); + Mat src = imread( samples::findFile( parser.get("@input") ), IMREAD_COLOR); if(src.empty()) { diff --git a/samples/cpp/tutorial_code/video/bg_sub.cpp b/samples/cpp/tutorial_code/video/bg_sub.cpp index 3180abbb8a..5a5d9eaace 100644 --- a/samples/cpp/tutorial_code/video/bg_sub.cpp +++ b/samples/cpp/tutorial_code/video/bg_sub.cpp @@ -16,9 +16,9 @@ using namespace cv; 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[]) { @@ -41,7 +41,7 @@ int main(int argc, char* argv[]) //! [create] //! [capture] - VideoCapture capture(parser.get("input")); + VideoCapture capture( samples::findFile( parser.get("input") ) ); if (!capture.isOpened()){ //error in opening the video input cerr << "Unable to open: " << parser.get("input") << endl; diff --git a/samples/cpp/tutorial_code/video/optical_flow/optical_flow.cpp b/samples/cpp/tutorial_code/video/optical_flow/optical_flow.cpp index 9b03d331a9..0394c6abd4 100644 --- a/samples/cpp/tutorial_code/video/optical_flow/optical_flow.cpp +++ b/samples/cpp/tutorial_code/video/optical_flow/optical_flow.cpp @@ -16,7 +16,7 @@ int main(int argc, char **argv) " 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 || path to image file }"; + "{ @image | vtest.avi | path to image file }"; CommandLineParser parser(argc, argv, keys); parser.about(about); if (parser.has("help")) @@ -24,7 +24,7 @@ int main(int argc, char **argv) parser.printMessage(); return 0; } - string filename = parser.get("@image"); + string filename = samples::findFile(parser.get("@image")); if (!parser.check()) { parser.printErrors(); diff --git a/samples/cpp/tutorial_code/xfeatures2D/LATCH_match.cpp b/samples/cpp/tutorial_code/xfeatures2D/LATCH_match.cpp index 2d1282d89d..e7889f08ea 100644 --- a/samples/cpp/tutorial_code/xfeatures2D/LATCH_match.cpp +++ b/samples/cpp/tutorial_code/xfeatures2D/LATCH_match.cpp @@ -24,14 +24,14 @@ const float nn_match_ratio = 0.8f; // Nearest neighbor matching ratio 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("@img1"), IMREAD_GRAYSCALE); - Mat img2 = imread(parser.get("@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("@img1") ), IMREAD_GRAYSCALE); + Mat img2 = imread( samples::findFile( parser.get("@img2") ), IMREAD_GRAYSCALE); Mat homography; - FileStorage fs(parser.get("@homography"), FileStorage::READ); + FileStorage fs( samples::findFile( parser.get("@homography") ), FileStorage::READ); fs.getFirstTopLevelNode() >> homography; vector kpts1, kpts2; diff --git a/samples/cpp/warpPerspective_demo.cpp b/samples/cpp/warpPerspective_demo.cpp index 04e1e95d74..4a9069f5d2 100644 --- a/samples/cpp/warpPerspective_demo.cpp +++ b/samples/cpp/warpPerspective_demo.cpp @@ -20,7 +20,7 @@ static void help(char** argv) 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" @@ -45,7 +45,7 @@ bool validation_needed = true; 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("@input")); Mat original_image = imread( filename ); @@ -81,7 +81,7 @@ int main(int argc, char** argv) { 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 ); @@ -94,7 +94,7 @@ int main(int argc, char** argv) { 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 ); diff --git a/samples/cpp/watershed.cpp b/samples/cpp/watershed.cpp index f3fefa7d4e..9c48ae0ee3 100644 --- a/samples/cpp/watershed.cpp +++ b/samples/cpp/watershed.cpp @@ -9,11 +9,10 @@ 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" @@ -51,7 +50,7 @@ int main( int argc, char** argv ) 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("@input")); @@ -59,10 +58,11 @@ int main( int argc, char** argv ) if( img0.empty() ) { - cout << "Couldn't open image " << filename << ". Usage: watershed \n"; + cout << "Couldn't open image "; + help(argv); return 0; } - help(); + help(argv); namedWindow( "image", 1 ); img0.copyTo(img); diff --git a/samples/tapi/hog.cpp b/samples/tapi/hog.cpp index eee200588c..7b4d3a1f86 100644 --- a/samples/tapi/hog.cpp +++ b/samples/tapi/hog.cpp @@ -7,7 +7,6 @@ #include #include #include "opencv2/imgcodecs.hpp" -#include #include #include #include