28 #include <mln/core/image/image2d.hh>
29 #include <mln/io/pbm/save.hh>
30 #include <mln/io/pgm/save.hh>
31 #include <mln/draw/box_plain.hh>
33 #include <mln/debug/filename.hh>
35 #include <mln/util/timer.hh>
37 #include <scribo/core/def/lbl_type.hh>
38 #include <scribo/debug/usage.hh>
40 #include <scribo/core/component_set.hh>
41 #include <scribo/core/paragraph_set.hh>
42 #include <scribo/core/line_info.hh>
44 #include <scribo/text/link_lines.hh>
45 #include <scribo/filter/line_links_x_height.hh>
47 #include <scribo/io/xml/load.hh>
51 const char *args_desc[][2] =
58 int main(
int argc,
char* argv[])
60 using namespace scribo;
65 "Show paragraph blocks",
66 "lines.xml out_blocks.pbm",
77 std::cout <<
"ERROR: this XML file does not contain any text information!"
88 doc.set_paragraphs(parset);
94 initialize(blocks, doc.lines().components().labeled_image());
101 for_all_paragraphs(p, parset)
102 if (parset(p).nlines() >= 3)
104 box2d last_tbox, last_box;
107 for_all_elements(l, parset(p).line_ids())
115 last_tbox = last_box;
128 if (pmax.col() > pmin.col())
130 box2d new_box(pmin, pmax);
148 box2d new_box(pmin, pmax);
165 box2d new_box(pmin, pmax);
176 last_box = line.bbox();
181 std::cout << t << std::endl;