Classes
contrib/gel/gevd/gevd_clean_edgels.h File Reference

Remove edgel chains with (1) end vertices closer than 3 pixels, (2) bridges, (3) self-intersection. More...

#include <vcl_vector.h>
#include <vtol/vtol_vertex_2d.h>
#include <vtol/vtol_vertex_2d_sptr.h>
#include <vtol/vtol_edge_2d_sptr.h>
#include <vsol/vsol_point_2d_sptr.h>

Go to the source code of this file.

Classes

class  gevd_clean_edgels

Detailed Description

Remove edgel chains with (1) end vertices closer than 3 pixels, (2) bridges, (3) self-intersection.

In using an edge segmentation for region analysis it is necessary to eliminate edges that do not permit the extraction of valid region topology. There are a number of conditions that would defeat a region analysis algorithm:

1: Too short edges. If the vertices of an edge closer than 3 pixels, (where distance is measured by the minimum image distance along the image axis) and the edgels are all within a pixel of a straight line joining the vertices then the edge should be eliminated and replaced by a single vertex at the midpoint of the original vertices.

2: Insufficient edgels. In some cases the VDEdgeDetector does not supply enough edgels to form a continuous chain between vertices. This problem appears to happen for n_edgels<=2.

3: Bridges. There is no point in passing edges which have a vertex of order 1. That is, there is only one edge incident on the vertex. Such edges will never lead to a correct region topology.

4: Self intersection. An edge should never intersect itself in any case, but it might be possible that an edge-detection algorithm could produce such edges. For example, the VanDuc edge-detector does currently form self-intersecting edges.(not yet implemented)

Author:
J.L. Mundy - Feb 20, 1999
    Modifications
     Feb 2001
           Effectively the same as Detection/Clean.h but duplicated here
           to allow for CAD required changes
   

Definition in file gevd_clean_edgels.h.