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");
66 std::cout << geom::min_row(lena) << ' ' << geom::max_row(lena) << '\n';
67 std::cout << geom::min_col(lena) << ' ' << geom::max_col(lena) << '\n';
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;
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:
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 =
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