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