zxhproj v 2.2
zxhproj
|
zxhEdgeCanny.cpp return canny edge contour points image, no gaussian filter is applied here More...
#include <zxhEdgeCanny.h>
Public Member Functions | |
virtual bool | Evaluate () |
bool | EvaluateCannyImage () |
zxhImageDataT< float > * | GetCannyImage () |
bool | RemoveSmallConnectRegions (float fFraction=0.01) |
void | SetThreshold (float low, float high) |
void | GetThreshold (float &low, float &high) |
Protected Member Functions | |
bool | ThresholdEdgePoint () |
2) Threshold and searching edge point candidates | |
bool | Hysteresis () |
3) Hysteresis | |
Protected Attributes | |
zxhImageDataT< float > | m_CannyImage |
zxhImageData | m_imgResampleImage |
zxhImageDataT< float > | m_imgResampleImageGradientMag |
float | m_Threshold [2] |
zxhEdgeCanny.cpp return canny edge contour points image, no gaussian filter is applied here
bool zxhEdgeCannyT< PixelType >::Evaluate | ( | ) | [virtual] |
run algorithm to compute the edge image, return whether success 1) compute differentiate 2) Threshold 3)hysteresis
run algorithm to compute the edge image, return whether success 1) compute differentiate=EvaluateCannyImage 2) Threshold 3)hysteresis
Implements zxhEdgeBaseT< PixelType >.
Reimplemented in zxhMultiCannyEdge.
bool zxhEdgeCannyT< PixelType >::EvaluateCannyImage | ( | ) |
1) only compute differentiate c(x,y,z) = [fxx * fx^2 + fyy * fy^2 + fzz * fz^2 + 2( fx*fy*fxy + fx*fz*fxz + fy*fz*fyz )]/(fx^2 + fy^2 + fz^2);
1) compute differentiate c(x,y,z) = [fxx * fx^2 + fyy * fy^2 + fzz * fz^2 + 2( fx*fy*fxy + fx*fz*fxz + fy*fz*fyz )]/(fx^2 + fy^2 + fz^2);
bool zxhEdgeCannyT< PixelType >::Hysteresis | ( | ) | [protected] |
3) Hysteresis
3) Hysteresis change -1 and -3 into Foreground and -2 and 0 into background
bool zxhEdgeCannyT< PixelType >::RemoveSmallConnectRegions | ( | float | fFraction = 0.01 | ) |
remove small regions if the region's connected pixels is smaller than fFraction of total region pixels then remove them
zxhImageDataT<float> zxhEdgeCannyT< PixelType >::m_CannyImage [protected] |
store the second order canny image c(x,y,z) = [fxx * fx^2 + fyy * fy^2 + fzz * fz^2 + 2( fx*fy*fxy + fx*fz*fxz + fy*fz*fyz )]/(fx^2 + fy^2 + fz^2);