Milena (Olena)  User documentation 2.0a Id
 All Classes Namespaces Functions Variables Typedefs Enumerator Groups Pages
morpho_constrast.cc
1 #include <mln/morpho/contrast.hh>
2 #include <mln/morpho/opening/structural.hh>
3 #include <mln/morpho/closing/structural.hh>
4 #include <mln/core/alias/neighb2d.hh>
5 #include <mln/io/pgm/all.hh>
6 #include <mln/value/int_u8.hh>
7 #include <mln/morpho/attribute/volume.hh>
8 #include <mln/win/disk2d.hh>
9 
10 int main(int argc, char *argv[])
11 {
12  using namespace mln;
13 
14  if (argc != 4)
15  {
16  std::cout << argv[0] << " <in.pgm> <niter> <out.pgm>" << std::endl;
17  return 1;
18  }
19 
20  typedef image2d<value::int_u8> I;
21  I input;
22  io::pgm::load(input, argv[1]);
23 
24 // mln::morpho::attribute::volume<I> accu;
25 
26 // image2d<value::int_u8> output = duplicate(input);
27 // for (int i = 0; i < atoi(argv[2]); ++i)
28 // {
29 // std::cout << "iteration " << i << std::endl;
30 // accu.init();
31 
32 // if (!i%2)
33 // output = morpho::closing::structural(output, win::disk2d(i * 2 + 1));
34 // else
35 // output = morpho::opening::structural(output, win::disk2d(i * 2 + 1));
36 // // output = morpho::opening::leveling(output, c8(), accu, i);
37 // }
38 
40 
41  io::pgm::save(output, argv[3]);
42 }