Mat img;
int threshval = 100;
-void help()
-{
- cout <<
- "\n This program demonstrates connected components and use of the trackbar\n"
- << "\n"
- << "Usage: ./connected_components <image>\n"
- << "\n"
- << "The image is converted to grayscale and displayed, another image has a trackbar\n"
- << "that controls thresholding and thereby the extracted contours which are drawn in color\n"
- << endl;
-}
-
-
void on_trackbar(int, void*)
{
Mat bw = threshval < 128 ? (img < threshval) : (img > threshval);
imshow( "Connected Components", dst );
}
-int main( int argc, char** argv )
+void help()
+{
+ printf("\n This program demonstrates connected components and use of the trackbar\n"
+ "Usage: \n"
+ " ./connected_components <image(stuff.jpg as default)>\n"
+ "The image is converted to grayscale and displayed, another image has a trackbar\n"
+ "that controls thresholding and thereby the extracted contours which are drawn in color\n");
+}
+
+const char* keys =
{
- // the first command line parameter
- if(argc != 2)
+ "{1| |stuff.jpg|image for converting to a grayscale}"
+};
+
+int main( int argc, const char** argv )
+{
+ help();
+ CommandLineParser parser(argc, argv, keys);
+ string inputImage = parser.get<string>("1");
+ img = imread(inputImage.c_str(), 0);
+
+ if(img.empty())
{
- help();
+ printf("Could not read input image file: %s\n", inputImage.c_str());
return -1;
}
- if( !(img=imread(argc == 2 ? argv[1] : "stuff.jpg", 0)).data) //The ending 0 in imread converts the image to grayscale.
- return -1;
- namedWindow( "Image", 1 );
+ namedWindow( "Image", 1 );
imshow( "Image", img );
namedWindow( "Connected Components", 1 );