NAME

draw_keypoint_matches_1 - Visualize matching keypoints using match vector.

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 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
);

DESCRIPTION

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

RETURNS

NO_ERROR or an error set by the image_draw routines.

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