NAME

get_local_keypoint_match - Finds the closest match to the given keypoint in a vector of candidate keypoints.

SYNOPSIS

#include "kpt/keypoint.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 get_local_keypoint_match
(
	const Keypoint *target_kpt,
	const Keypoint_vector *candidate_kvp,
	const double dist_ratio,
	const double dist_thresh
);

PARAMETERS

const double dist_ratio
const Matrix *H_mp,

DESCRIPTION

Closeness is measured by both, the location and descriptor similarity. This routine finds the two nearest neighbors of the given keypoint. The similarity is measured by the Euclidean distance of the keypoint vectors. Based on D. Lowe's "Distinctive image features from scale-invariant keypoints" paper. However, the cloest match is selected based on the ratio of the distances to the nearest and the second nearest neighbor, AND its location proximity.

RETURNS

On error, this routine returns ERROR. If the keypoint pointers are NULL, the routine returns NOT_SET. If a match was not found then the routine returns NOT_FOUND, otherwise, On success it returns the index of the keypoint matched to the target.

INPUT

const Keypoint *target_kpt - the keypoint for which to find a match const Keypoint_vector *candidate_kvp - a vector of possible matches const Matrix *H_mp - a homography that transforms target into candidate const int dist_ratio - a ratio between 2 nearest keypoint matches const double dist_thresh - a threshold on how far a match can be

RELATED

get_keypoint_match, find_putative_matches

DISCLAIMER

This software is not adequatedly tested. It is recomended that results are checked independantly where appropriate.

AUTHOR

Kobus Barnard

DOCUMENTER

Kobus Barnard

SEE ALSO

create_keypoint , get_target_keypoint , copy_keypoint , set_keypoint_from_vector , free_keypoint , read_vl_keypoints_into_matrix , read_vl_keypoint_vector_from_file , extract_selected_keypoints_positions , extract_keypoints_positions , create_keypoint_vector , get_keypoint_vector_from_matrix , copy_keypoint_vector , copy_keypoint_vector_selected_rows , write_vl_keypoint_vector , get_vector_from_keypoint , free_keypoint_vector , get_target_keypoint_vector , create_keypoint_vector_vector , get_target_keypoint_vector_vector , free_keypoint_vector_vector , free_keypoint_vector_descriptors , keypoint_euclidean_distance , get_keypoint_match , draw_oriented_keypoint , draw_oriented_keypoint_1 , draw_ubc_keypoints_from_file , fp_draw_vl_keypoints , draw_vl_keypoints_from_file , draw_keypoints_from_keypoint_vector , draw_vl_keypoint_vector_with_mask , draw_vl_keypoint_vector_with_mask_value , draw_keypoint_correspondences , draw_keypoint_matches , draw_keypoint_matches_1 , draw_ransac_matches