Good night,
I am currently starting to develop with olena/milena and I was following
the tutorial when I found something that puzzled me:
63 image2d<value::rgb8> lena;
64 io::ppm::load(lena, MLN_IMG_DIR "/small.ppm");
65
66 std::cout << geom::min_row(lena) << ' ' <<
geom::max_row(lena) <<
'\n';
67 std::cout << geom::min_col(lena) << ' ' <<
geom::max_col(lena) <<
'\n';
68
69 for (def::coord row = geom::min_row(lena); row <
geom::max_row(lena); ++row)
70 for (def::coord col = geom::min_row(lena); col <
geom::max_col(lena); ++col)
71 if (((row + col) % 2) == 0)
72 opt::at(lena, row, col) = literal::green;
73
74 io::ppm::save(lena, "./lena_chess.ppm");
The definition of geom::min/max_row/col its that it gives you the image
limits, so I should get lena's image in a chess pattern.
Strangely as it may look, it happens to not fill the right and bottom edges
as you can see in the picture:
[image: image.png]
I think there is something wrong in the tutorial as the loop should have as
upper limit row/col *<=* geom::max_row/col instead of *=*
http://www.lrde.epita.fr/dload/olena/2.0/doc/milena/user-refman-html/d3/dfe…
The thing is that in all the tutorials the limit is set as =, so it is
either a bug in milena's function or in the tutorial (or in my computer ;) )
Best regards
--
Cristián Canivell Gutiérrez
UPM Facultad de Informática