NAME
chamfer_transform_2 - Alternate chamfer transform
SYNOPSIS
#include "g/g_chamfer.h"
Example compile flags (system dependent):
-DLINUX_X86_64 -DLINUX_X86_64_OPTERON -DGNU_COMPILER
-I/home/kobus/include
-L/home/kobus/misc/load/linux_x86_64_opteron -L/usr/lib/x86_64-linux-gnu
-lKJB -lfftw3 -lgsl -lgslcblas -ljpeg -lSVM -lstdc++ -lpthread -lSLATEC -lg2c -lacml -lacml_mv -lblas -lg2c -lncursesw
int chamfer_transform_2
(
const Edge_set *points,
int num_rows,
int num_cols,
int size,
Matrix **distances_out,
Edge_point ****edge_map
);
DESCRIPTION
Alternate form of chamfer_transform the gives more informative output when
a fill edge point list is available instead of just a binary edge image.
Input is a linked-list of edge points, the dimensions of the original
image, and a neighborhood size (see chamfer_transform for explanation of
neighborhood size).
Output is a matrix of distances to the nearest edge point, and a 2D array
of pointers to the nearest edge point. The 2D pointer array can be freed
using free_2D_ptr_array(). This does not free the edge points in "points",
which must be freed separately.
DISCLAIMER
This software is not adequatedly tested. It is recomended that
results are checked independantly where appropriate.
AUTHOR
Kyle Simek
DOCUMENTER
Kobus Barnard
SEE ALSO
chamfer_transform
,
sum_sq_distance
,
chamfer_distance
,
oriented_sum_sq_distance
,
oriented_chamfer_distance