Inputs: Image, EdgelGroup
Output: CoolListP<IntensityFace*>
The array is scanned with a 2x2 neighborhood to form connected components in the usual way. Each of the connected component labels are reduced to the lowest equivalent label id by a transitive closure on the equivalence table.
A second scan of the label array is made to determine adjacency to a given edge. This process is enabled by a companion class, the gevd_region_edge which has storage for two labels, corresponding to each side of the edge.
The region edges are then used to collect the input edges which are adjacent to a given region. The set of edges adjacent to a region are used to construct a multiply-connected sub-class of Face, the IntensityFace. The IntensityFace maintains a scatter matrix of a planar fit to the intensity distribution over the corresponding region.
Modifications
25 April 2000 - collinsr@cs.rpi.edu - switched region_edges_
to key on the Id() rather than the pointer value
to avoid different hash tables (and different
segmentations) for identical inputs (leaving the
question of why the hash table order matters for
another day)
24 April 2002 - Peter Vanroose - replaced GetLeftLabel and GetRightLabel
by GetLabel, in accordance with gevd_region_edge change
Definition in file gevd_edgel_regions.h.
#include <vcl_map.h>
#include <vtol/vtol_vertex_sptr.h>
#include <vtol/vtol_edge_2d_sptr.h>
#include <gevd/gevd_region_edge.h>
#include <gevd/gevd_bufferxy.h>
#include <vtol/vtol_intensity_face_sptr.h>
#include <vil1/vil1_image.h>
Go to the source code of this file.
Classes | |
| class | gevd_edgel_regions |
1.4.4