29 #include <mln/core/image/image2d.hh>
30 #include <mln/labeling/colorize.hh>
31 #include <mln/debug/println.hh>
32 #include <mln/util/array.hh>
33 #include <mln/literal/colors.hh>
34 #include <mln/io/pbm/load.hh>
35 #include <mln/core/alias/neighb2d.hh>
36 #include <mln/value/label_16.hh>
38 #include <scribo/core/object_links.hh>
40 #include <scribo/primitive/extract/components.hh>
41 #include <scribo/primitive/group/apply.hh>
42 #include <scribo/primitive/link/with_single_left_link.hh>
43 #include <scribo/primitive/link/with_single_right_link.hh>
44 #include <scribo/debug/linked_bboxes_image.hh>
45 #include <scribo/primitive/group/from_double_link.hh>
46 #include <scribo/filter/objects_small.hh>
48 #include <scribo/debug/bboxes_image.hh>
49 #include <scribo/make/debug_filename.hh>
52 #include <scribo/debug/usage.hh>
54 const char *args_desc[][2] =
56 {
"input.pbm",
"A binary image. 'True' for objects, 'False' for the "
58 {
"hlmax",
"Maximum distance between two grouped objects while browsing "
60 {
"hrmax",
"Maximum distance between two grouped objects while browsing "
62 {
"prefix",
"Output names prefix" },
66 int main(
int argc,
char *argv[])
68 using namespace scribo;
73 "Group potential text objects using a double"
75 "input.pbm hlmax hrmax prefix",
79 scribo::make::internal::debug_filename_prefix = argv[4];
84 value::label_16 nbboxes;
96 std::cout <<
"BEFORE - nbboxes = " << nbboxes << std::endl;
99 left_link, right_link,
114 grouped_text.labeled_image(),
115 grouped_text.nelements()),
118 std::cout <<
"AFTER double grouping - nbboxes = "
119 << grouped_text.nelements() << std::endl;