From: Dirk Lemstra Date: Thu, 3 Aug 2017 18:28:56 +0000 (+0200) Subject: Added meanShift to Magick++. X-Git-Tag: 7.0.6-6~33 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ae01c99d148050fee93bf4b9d14d1bdd315badef;p=imagemagick Added meanShift to Magick++. --- diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 8814b96d0..999d4fbee 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -3534,6 +3534,19 @@ void Magick::Image::map(const Image &mapImage_,const bool dither_) ThrowImageException; } +void Magick::Image::meanShift(const size_t width_,const size_t height_, + const double color_distance_) +{ + MagickCore::Image + *newImage; + + GetPPException; + newImage=MeanShiftImage(constImage(),width_,height_,color_distance_, + exceptionInfo); + replaceImage(newImage); + ThrowImageException; +} + void Magick::Image::medianFilter(const double radius_) { MagickCore::Image diff --git a/Magick++/lib/Magick++/Image.h b/Magick++/lib/Magick++/Image.h index 4d6ccd362..2fb8c38f3 100644 --- a/Magick++/lib/Magick++/Image.h +++ b/Magick++/lib/Magick++/Image.h @@ -1070,6 +1070,10 @@ namespace Magick // Remap image colors with closest color from reference image void map(const Image &mapImage_,const bool dither_=false); + // Delineate arbitrarily shaped clusters in the image. + void meanShift(const size_t width_,const size_t height_, + const double color_distance_); + // Filter image by replacing each pixel component with the median // color in a circular neighborhood void medianFilter(const double radius_=0.0);