Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxCannyThreshold.h File Reference

More...

#include "HxImageRep.h"

Go to the source code of this file.

Functions

HxImageRep L_HXIMAGEREP HxCannyThreshold (HxImageRep img, double sigma, double level)
 Computes the Canny edge map of a scalar image, performs non-maxima suppression, and tresholds the norm of the resulting vector field at the given level. More...


Detailed Description


Function Documentation

HxImageRep L_HXIMAGEREP HxCannyThreshold HxImageRep    img,
double    sigma,
double    level
 

Computes the Canny edge map of a scalar image, performs non-maxima suppression, and tresholds the norm of the resulting vector field at the given level.

00017 {
00018     HxString fname("HxCannyThreshold");
00019 
00020     if (img.isNull())
00021     {
00022         HxGlobalError::instance()->reportError(fname, img.name(), "null image", HxGlobalError::HX_GE_INVALID);
00023         return HxImageRep();
00024     }
00025 
00026     if (sigma <= 0.0)
00027     {
00028         HxGlobalError::instance()->reportError(fname, img.name(), "invalid value of sigma", HxGlobalError::HX_GE_INVALID);
00029         return HxImageRep();
00030     }
00031 
00032     if (img.signature().imageDimensionality() != 2)
00033     {
00034         HxGlobalError::instance()->reportError(fname, "only defined for 2D images", HxGlobalError::HX_GE_INVALID);
00035         return HxImageRep();
00036     }
00037     if (img.signature().pixelDimensionality() != 1)
00038     {
00039         HxGlobalError::instance()->reportError(fname, "only defined for scalar pixel types", HxGlobalError::HX_GE_INVALID);
00040         return HxImageRep();
00041     }
00042 
00043     HxImageRep edges = HxCannyEdgeMap(img, sigma);
00044     HxImageRep nonmax = HxNonMaxSuppressionGradDir(edges);
00045     return HxThreshold(HxNorm2Sqr(nonmax), HxValue(level * level));
00046 }


Generated on Tue Feb 3 14:18:45 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001