get_constrained_keypoint_match - Finds the closest match (in the descriptor space as well as based on the Euclidean


#include "kpt/putative_match.h"

Example compile flags (system dependent):
   -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_constrained_keypoint_match
	const Keypoint *target_kpt,
	const Keypoint_vector *candidate_kvp,
	const double dist_ratio,
	const double dist_radius


distance of the keypoint locations) to the given keypoint in a vector of candidate keypoints. This routine finds the two nearest neighbors of the given keypoint. The similarity is measured by the Euclidean distance of the keypoint vectors as well as their location. Based on D. Lowe's "Distinctive image features from scale-invariant keypoints" paper, the closest match is selected based on the ratio of the distances to the nearest and the second nearest neighbor.


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.


const Keypoint *target_kpt - the keypoint for which to find a match const Keypoint_vector *candidate_kvp - a vector of possible matches const int dist_ratio - a ratio of the descriptor similarity between 2 nearest keypoint matches const int dist_radius - a radius around the keypoint location within which to look for matches.


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


Kobus Barnard


Kobus Barnard


get_putative_matches , get_putative_matches_2 , get_putative_matches_3 , extract_match_positions , extract_match_positions_1 , extract_match_positions_2 , print_keypoint_parameters