From: dirk Date: Sun, 27 Apr 2014 04:38:20 +0000 (+0000) Subject: Added canny edge to Magick++. X-Git-Tag: 7.0.1-0~2406 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=064bae341824f86d5e0b4e0010084c7a358704d7;p=imagemagick Added canny edge to Magick++. --- diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp index 6d0e1ea77..f4eefef6f 100644 --- a/Magick++/lib/Image.cpp +++ b/Magick++/lib/Image.cpp @@ -2081,6 +2081,20 @@ void Magick::Image::brightnessContrastChannel(const ChannelType channel_, ThrowPPException; } +void Magick::Image::cannyEdge(const double radius_,const double sigma_, + const double lowerPercent_,const double upperPercent_) +{ + MagickCore::Image + *newImage; + + modifyImage(); + GetPPException; + newImage=CannyEdgeImage(constImage(),radius_,sigma_,lowerPercent_, + upperPercent_,&exceptionInfo); + replaceImage(newImage); + ThrowPPException; +} + void Magick::Image::channel(const ChannelType channel_) { MagickCore::Image diff --git a/Magick++/lib/Magick++/Image.h b/Magick++/lib/Magick++/Image.h index 7d4bd5151..b44781d8d 100644 --- a/Magick++/lib/Magick++/Image.h +++ b/Magick++/lib/Magick++/Image.h @@ -672,6 +672,10 @@ namespace Magick void brightnessContrastChannel(const ChannelType channel_, const double brightness_=0.0,const double contrast_=0.0); + // Uses a multi-stage algorithm to detect a wide range of edges in images. + void cannyEdge(const double radius_=0.0,const double sigma_=1.0, + const double lowerPercent_=0.1,const double upperPercent_=0.3); + // Extract channel from image void channel(const ChannelType channel_); diff --git a/Magick++/lib/Magick++/Include.h b/Magick++/lib/Magick++/Include.h index 57f0ef64e..64c4f3dd3 100644 --- a/Magick++/lib/Magick++/Include.h +++ b/Magick++/lib/Magick++/Include.h @@ -1034,6 +1034,7 @@ namespace Magick using MagickCore::CacheFatalError; using MagickCore::CacheWarning; using MagickCore::CharcoalImage; + using MagickCore::CannyEdgeImage; using MagickCore::ChopImage; using MagickCore::ClampImage; using MagickCore::ClampToQuantum;