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
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_);
using MagickCore::CacheFatalError;
using MagickCore::CacheWarning;
using MagickCore::CharcoalImage;
+ using MagickCore::CannyEdgeImage;
using MagickCore::ChopImage;
using MagickCore::ClampImage;
using MagickCore::ClampToQuantum;