From: Dirk Lemstra Date: Thu, 20 Jul 2017 21:43:20 +0000 (+0200) Subject: Added autoThreshold to Magick++. X-Git-Tag: 7.0.6-2~9 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b31bdaf85eaed23f77fca9f85df499e5ccad8e4c;p=imagemagick Added autoThreshold to Magick++. --- diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 8e18fd12f..8814b96d0 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -2054,6 +2054,14 @@ void Magick::Image::autoOrient(void) ThrowImageException; } +void Magick::Image::autoThreshold(const AutoThresholdMethod method_) +{ + modifyImage(); + GetPPException; + AutoThresholdImage(image(),method_, exceptionInfo); + ThrowImageException; +} + void Magick::Image::blackThreshold(const std::string &threshold_) { modifyImage(); diff --git a/Magick++/lib/Magick++/Image.h b/Magick++/lib/Magick++/Image.h index efa1b9812..4d6ccd362 100644 --- a/Magick++/lib/Magick++/Image.h +++ b/Magick++/lib/Magick++/Image.h @@ -1,7 +1,7 @@ // This may look like C code, but it is really -*- C++ -*- // // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003 -// Copyright Dirk Lemstra 2013-2016 +// Copyright Dirk Lemstra 2013-2017 // // Definition of Image, the representation of a single image in Magick++ // @@ -641,6 +641,11 @@ namespace Magick // Adjusts an image so that its orientation is suitable for viewing. void autoOrient(void); + // Automatically selects a threshold and replaces each pixel in the image + // with a black pixel if the image intentsity is less than the selected + // threshold otherwise white. + void autoThreshold(const AutoThresholdMethod method_); + // Forces all pixels below the threshold into black while leaving all // pixels at or above the threshold unchanged. void blackThreshold(const std::string &threshold_); diff --git a/Magick++/lib/Magick++/Include.h b/Magick++/lib/Magick++/Include.h index fb18091b2..bbb1d62f8 100644 --- a/Magick++/lib/Magick++/Include.h +++ b/Magick++/lib/Magick++/Include.h @@ -336,6 +336,13 @@ namespace Magick using MagickCore::ShapeAlphaChannel; using MagickCore::TransparentAlphaChannel; + // Auto threshold methods + using MagickCore::AutoThresholdMethod; + using MagickCore::UndefinedThresholdMethod; + using MagickCore::KapurThresholdMethod; + using MagickCore::OTSUThresholdMethod; + using MagickCore::TriangleThresholdMethod; + // Channel types using MagickCore::ChannelType; using MagickCore::UndefinedChannel; @@ -1144,6 +1151,7 @@ namespace Magick using MagickCore::AutoGammaImage; using MagickCore::AutoLevelImage; using MagickCore::AutoOrientImage; + using MagickCore::AutoThresholdImage; using MagickCore::Base64Decode; using MagickCore::Base64Encode; using MagickCore::BilevelImage;