olena-2.0-10-g0461de7 Add a new tool for global thresholding.

* src/binarization/Makefile.am: Add a new target. * src/binarization/global_threshold.cc: New. --- scribo/ChangeLog | 8 ++++++++ scribo/src/binarization/Makefile.am | 7 +++++++ .../binarization/{otsu.cc => global_threshold.cc} | 9 +++++++-- 3 files changed, 22 insertions(+), 2 deletions(-) copy scribo/src/binarization/{otsu.cc => global_threshold.cc} (90%) diff --git a/scribo/ChangeLog b/scribo/ChangeLog index f18c774..5aa2a06 100644 --- a/scribo/ChangeLog +++ b/scribo/ChangeLog @@ -1,5 +1,13 @@ 2011-10-14 Guillaume Lazzara <z@lrde.epita.fr> + Add a new tool for global thresholding. + + * src/binarization/Makefile.am: Add a new target. + + * src/binarization/global_threshold.cc: New. + +2011-10-14 Guillaume Lazzara <z@lrde.epita.fr> + * tests/binarization/global_threshold.cc: Fix test. 2011-10-14 Guillaume Lazzara <z@lrde.epita.fr> diff --git a/scribo/src/binarization/Makefile.am b/scribo/src/binarization/Makefile.am index fc96572..315e621 100644 --- a/scribo/src/binarization/Makefile.am +++ b/scribo/src/binarization/Makefile.am @@ -41,6 +41,7 @@ ppm_sauvola_ms_split_SOURCES = ppm_sauvola_ms_split.cc if HAVE_MAGICKXX noinst_PROGRAMS += \ + global_threshold \ sauvola_debug \ sauvola_ms_debug @@ -52,6 +53,12 @@ if HAVE_MAGICKXX sauvola_ms_split + global_threshold_SOURCES = global_threshold.cc + global_threshold_CPPFLAGS = $(AM_CPPFLAGS) \ + $(MAGICKXX_CPPFLAGS) + global_threshold_LDFLAGS = $(AM_LDFLAGS) \ + $(MAGICKXX_LDFLAGS) + otsu_SOURCES = otsu.cc otsu_CPPFLAGS = $(AM_CPPFLAGS) \ diff --git a/scribo/src/binarization/otsu.cc b/scribo/src/binarization/global_threshold.cc similarity index 90% copy from scribo/src/binarization/otsu.cc copy to scribo/src/binarization/global_threshold.cc index 7673363..276ec2e 100644 --- a/scribo/src/binarization/otsu.cc +++ b/scribo/src/binarization/global_threshold.cc @@ -30,13 +30,14 @@ #include <mln/data/transform.hh> #include <mln/fun/v2v/rgb_to_luma.hh> -#include <scribo/binarization/otsu.hh> +#include <scribo/binarization/global_threshold.hh> #include <scribo/debug/option_parser.hh> #include <scribo/debug/logger.hh> static const scribo::debug::arg_data arg_desc[] = { { "input.*", "An image." }, + { "threshold_value", "Global threshold to apply." }, { "output.pbm", "A binary image." }, {0, 0} }; @@ -83,6 +84,10 @@ int main(int argc, char *argv[]) trace::entering("main"); bool verbose = options.is_set("verbose"); + unsigned threshold = atoi(options.arg("threshold_value")); + + if (verbose) + std::cout << "Using threshold=" << threshold << std::endl; image2d<value::rgb8> input; io::magick::load(input, options.arg("input.*")); @@ -91,7 +96,7 @@ int main(int argc, char *argv[]) image2d<value::int_u8> input_1_gl = data::transform(input, mln::fun::v2v::rgb_to_luma<value::int_u8>()); - image2d<bool> out = scribo::binarization::otsu(input_1_gl); + image2d<bool> out = scribo::binarization::global_threshold(input_1_gl, threshold); io::pbm::save(out, options.arg("output.pbm")); -- 1.7.2.5
participants (1)
-
Guillaume Lazzara