draw_keypoint_matches_1 - Visualize matching keypoints using match vector.


#include "kpt/keypoint.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 draw_keypoint_matches_1
	const KJB_image *img1_ip,
	const KJB_image *img2_ip,
	const Keypoint_vector *img1_kvp,
	const Keypoint_vector *img2_kvp,
	const Int_vector *match_ivp,
	KJB_image **result_ip


The function draws the two images one underneath the other or one on top of another, depending on the value of the "draw-side-by-side" option. By default, matched frames are drawn one on top of the other (i.e. the option is FALSE by default). The function connects via lines the locations of the corresponing keypoints provided in the Keypoint vectors. The matches are provided via the match_ivp: the index of the vector indexes the keypoints from the first image, the value at that index indexes the keypoints from the second image. The length of match_ivp is the same as the length of img1_kvp. Thus, if match_ivp->elements[0] is 42, then the keypoint 42 from the second image (img2_kvp) is matched to the 1st keypoint from the first image (img1_kvp). NOT_SET is a value for the keypoints that weren't matched. Input parameters: KJB_image* img1_ip - a handle to the image KJB_image* img2_ip - a handle to another image Keypoint_vector* img1_kvp - the keypoints for img1 Keypoint_vector* img2_kvp - the keypoints for img2 Int_vector* match_ivp - each element, i, stores indices of img2_kvp that match the i-th element of img1_kvp KJB_image** result_ip - a handle to the resulting image


NO_ERROR or an error set by the image_draw routines.


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


Kobus Barnard


Kobus Barnard


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 , get_local_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_ransac_matches