diff --git a/samples/cpp/watershed.cpp b/samples/cpp/watershed.cpp index 2b311d245b..955eaf246f 100644 --- a/samples/cpp/watershed.cpp +++ b/samples/cpp/watershed.cpp @@ -7,6 +7,20 @@ using namespace cv; using namespace std; +void help() +{ + cout << "\nThis program demonstrates the famous watershed segmentation algorithm in OpenCV: watershed()\n" + "Usage:\n" + "./watershed [image_name -- default is fruits.jpg]\n" << endl; + + + cout << "Hot keys: \n" + "\tESC - quit the program\n" + "\tr - restore the original image\n" + "\tw or SPACE - run watershed segmentation algorithm\n" + "\t\t(before running it, *roughly* mark the areas to segment on the image)\n" + "\t (before that, roughly outline several markers on the image)\n"; +} Mat markerMask, img; Point prevPt(-1, -1); @@ -30,7 +44,6 @@ void onMouse( int event, int x, int y, int flags, void* ) } } - int main( int argc, char** argv ) { char* filename = argc >= 2 ? argv[1] : (char*)"fruits.jpg"; @@ -38,17 +51,10 @@ int main( int argc, char** argv ) if( img0.empty() ) { - cout << "Usage: watershed \n"; + cout << "Couldn'g open image " << filename << ". Usage: watershed \n"; return 0; } - - cout << "Hot keys: \n" - "\tESC - quit the program\n" - "\tr - restore the original image\n" - "\tw or SPACE - run watershed algorithm\n" - "\t\t(before running it, roughly mark the areas on the image)\n" - "\t (before that, roughly outline several markers on the image)\n"; - + help(); namedWindow( "image", 1 ); img0.copyTo(img);