#include <sdet_edge_champher.h>
Public Member Functions | |
sdet_edge_champher (vbl_array_2d< vtol_edge_2d_sptr > &edges) | |
Constructor. | |
~sdet_edge_champher () | |
Destructor. | |
float | distance (int x, int y) |
vtol_edge_2d_sptr | image_edge (int x, int y) |
void | distance_with_edge_masked (int x, int y, vtol_edge_2d_sptr &e) |
void | initialize_arrays (vbl_array_2d< vtol_edge_2d_sptr > &edges) |
Copies the edge array and sets the distance at each edge location to 0. | |
void | chamfer_34 () |
Performs 3-4 Chamfer filtering on the distance_ image, and carries with it information about the orientations. | |
int | minimum_5 (int, int, int, int, int) |
Determines the minimum of five ints. | |
void | forward_chamfer () |
Performs a forward chamfer convolution on the distance_ and _edge images. | |
void | backward_chamfer () |
Performs a backward chamfer convolution on the distance_ and edges_ images. | |
void | compute_real_distances () |
The Chamfer 3-4 masks compute distance which are three times the actual distance. | |
Private Attributes | |
int | xsize_ |
int | ysize_ |
vbl_array_2d< unsigned char > | distance_ |
vbl_array_2d< vtol_edge_2d_sptr > | edges_ |
int ** | index_ |
Definition at line 23 of file sdet_edge_champher.h.
sdet_edge_champher::sdet_edge_champher | ( | vbl_array_2d< vtol_edge_2d_sptr > & | edges | ) |
Constructor.
Definition at line 12 of file sdet_edge_champher.cxx.
sdet_edge_champher::~sdet_edge_champher | ( | ) |
Destructor.
Definition at line 27 of file sdet_edge_champher.cxx.
void sdet_edge_champher::backward_chamfer | ( | ) |
Performs a backward chamfer convolution on the distance_ and edges_ images.
Definition at line 124 of file sdet_edge_champher.cxx.
void sdet_edge_champher::chamfer_34 | ( | ) |
Performs 3-4 Chamfer filtering on the distance_ image, and carries with it information about the orientations.
Definition at line 52 of file sdet_edge_champher.cxx.
void sdet_edge_champher::compute_real_distances | ( | ) |
The Chamfer 3-4 masks compute distance which are three times the actual distance.
Scale all values by three in the distance_ image.
Definition at line 165 of file sdet_edge_champher.cxx.
float sdet_edge_champher::distance | ( | int | x, |
int | y | ||
) | [inline] |
Definition at line 36 of file sdet_edge_champher.h.
void sdet_edge_champher::distance_with_edge_masked | ( | int | x, |
int | y, | ||
vtol_edge_2d_sptr & | e | ||
) |
void sdet_edge_champher::forward_chamfer | ( | ) |
Performs a forward chamfer convolution on the distance_ and _edge images.
Definition at line 81 of file sdet_edge_champher.cxx.
vtol_edge_2d_sptr sdet_edge_champher::image_edge | ( | int | x, |
int | y | ||
) | [inline] |
Definition at line 46 of file sdet_edge_champher.h.
void sdet_edge_champher::initialize_arrays | ( | vbl_array_2d< vtol_edge_2d_sptr > & | edges | ) |
Copies the edge array and sets the distance at each edge location to 0.
Note that vbl_array has r, c -> y, x index order
Definition at line 37 of file sdet_edge_champher.cxx.
int sdet_edge_champher::minimum_5 | ( | int | a, |
int | b, | ||
int | c, | ||
int | d, | ||
int | e | ||
) |
Determines the minimum of five ints.
Definition at line 63 of file sdet_edge_champher.cxx.
vbl_array_2d<unsigned char> sdet_edge_champher::distance_ [private] |
Definition at line 77 of file sdet_edge_champher.h.
Definition at line 79 of file sdet_edge_champher.h.
int** sdet_edge_champher::index_ [private] |
Definition at line 82 of file sdet_edge_champher.h.
int sdet_edge_champher::xsize_ [private] |
Definition at line 74 of file sdet_edge_champher.h.
int sdet_edge_champher::ysize_ [private] |
Definition at line 74 of file sdet_edge_champher.h.