00001 #include <oln/lrde/efigi/misc.hh> 00002 #include <oln/lrde/efigi/io.hh> 00003 #include <oln/lrde/efigi/req.hh> 00004 00005 #include <oln/morpho/watershed.hh> 00006 #include <ntg/real/int_u.hh> 00007 00008 00009 00010 void usage(char* argv[]) 00011 { 00012 std::cerr << "usage: " << argv[0] 00013 << " filein.pfm fileout.pbm" << std::endl; 00014 exit(0); 00015 } 00016 00017 00018 int main(int argc, char* argv[]) 00019 { 00020 using namespace oln; 00021 00022 if (argc != 3) 00023 usage(argv); 00024 00025 image2d<float> ima = efigi::load_pfm(argv[1]); 00026 image2d<unsigned char> ws = morpho::watershed_seg<unsigned char>(ima, neighb_c8()); 00027 save(efigi::lab2bin(ws), argv[2]); 00028 }