Click or drag to resize
OIV.ImageViz.Engines.EdgeDetection.EdgeMarking Namespace
 
Classes
  ClassDescription
Public classSoCannyEdgeProcessing Obsolete.
Public classSoCannyEdgeProcessingSbCannyEdgeDetectionDetail Obsolete.

Results details of canny edge detection workflow.

Public classSoDijkstraShortestPathProcessing2d Obsolete.
Public classSoEigenvaluesToStructurenessProcessing2d Obsolete.
Public classSoEigenvaluesToStructurenessProcessing3d Obsolete.
Public classSoGaussianGradientTensorProcessing2d Obsolete.
Public classSoGaussianGradientTensorProcessing3d Obsolete.
Public classSoGradientLocalMaximaProcessing2d Obsolete.
Public classSoGradientLocalMaximaProcessing3d Obsolete.
Public classSoRidgeDetectionProcessing Obsolete.
Public classSoTensorVotingProcessing2d Obsolete.
Public classSoZeroCrossingsProcessing2d Obsolete.
Enumerations
Remarks

Introduction to Edge Marking

With gradient (ex: OIV.ImageViz.Engines.EdgeDetection.Gradient.SoGradientOperatorProcessing2d) or laplacian (ex: OIV.ImageViz.Engines.EdgeDetection.Laplacian.SoRecursiveLaplacianProcessing) engines, a 1D edge was defined as the local maximum of the magnitude of the first derivative, or the zero crossing of the second derivative. Unfortunately, this definition cannot be extended to 2D functions (like for instance OIV.ImageViz.Engines.EdgeDetection.EdgeMarking.SoGradientLocalMaximaProcessing2d). In fact, an edge appears like a crest line on the magnitude of the gradient image and this leads us to define an edge as all the points whose gradient magnitude is maximum along the direction of the gradient, i.e the direction across the edge. This method, referred to as non-maxima suppression, provides thin lines which are much more convenient to handle.

Note that images of zero crossings of the Laplacian result in closed thin lines as they correspond to boundaries between positive and negative regions. Finally, we can take into account the specific geometry of a contour - its pixels are connected by using a more sophisticated threshold, the threshold by hysteresis (OIV.ImageViz.Engines.ImageSegmentation.Binarization.SoHysteresisThresholdingProcessing).

This is in fact an intuitive method. We choose a high and low threshold, and , and decide that all the pixels with intensity higher than are edges and those with are edges and those with intensity less than are noise. For the transition area , i.e. pixels with intensity lies between and , we only retain the pixels connected by a line included in to a pixel with a high intensity.