Skip to content

Commit

Permalink
Added autoThreshold to Magick++.
Browse files Browse the repository at this point in the history
  • Loading branch information
Dirk Lemstra committed Jul 20, 2017
1 parent 4036b8b commit b31bdaf
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 1 deletion.
8 changes: 8 additions & 0 deletions Magick++/lib/Image.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
7 changes: 6 additions & 1 deletion Magick++/lib/Magick++/Image.h
Original file line number Diff line number Diff line change
@@ -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++
//
Expand Down Expand Up @@ -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_);
Expand Down
8 changes: 8 additions & 0 deletions Magick++/lib/Magick++/Include.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit b31bdaf

Please sign in to comment.