SIFT3D 2.0
SIFT descriptors extended to 3D
Loading...
Searching...
No Matches
sift.h
Go to the documentation of this file.
1
6#ifndef __SIFT3D__H__
7#define __SIFT3D__H__
8
9#include <imtypes.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15// Detector
16
24SIFT3D_EXPORT sift3d_detector*
26
30SIFT3D_EXPORT void
31sift3d_free_detector(sift3d_detector*);
32
40SIFT3D_EXPORT int
41sift3d_detector_set_peak_thresh(sift3d_detector *const, const double);
42
49SIFT3D_EXPORT int
50sift3d_detector_set_corner_thresh(sift3d_detector *const, const double);
51
57SIFT3D_EXPORT int
58sift3d_detector_set_num_kp_levels(sift3d_detector *const, const unsigned int);
59
67SIFT3D_EXPORT int
68sift3d_detector_set_sigma_n(sift3d_detector *const, const double);
69
77SIFT3D_EXPORT int
78sift3d_detector_set_sigma0(sift3d_detector *const, const double);
79
92SIFT3D_EXPORT int
93sift3d_detect_keypoints(sift3d_detector *const detector,
94 const sift3d_image *const image,
95 sift3d_keypoint_store *const store);
96
108SIFT3D_EXPORT int
109sift3d_extract_descriptors(sift3d_detector *const detector,
110 const sift3d_keypoint_store *const kp_store,
111 sift3d_descriptor_store *const desc_store);
112
113// Keypoint store
114
121SIFT3D_EXPORT sift3d_keypoint_store*
123
127SIFT3D_EXPORT void
128sift3d_free_keypoint_store(sift3d_keypoint_store*);
129
139SIFT3D_EXPORT int
140sift3d_keypoint_store_to_mat_rm(const sift3d_keypoint_store *const,
141 sift3d_mat_rm *const);
142
151SIFT3D_EXPORT int
153 const sift3d_keypoint_store *const);
154
164SIFT3D_EXPORT void
165sift3d_keypoint_store_sort_by_strength (sift3d_keypoint_store *const, int limit);
166
167// Descriptor store
168
175SIFT3D_EXPORT sift3d_descriptor_store*
177
181SIFT3D_EXPORT void
182sift3d_free_descriptor_store(sift3d_descriptor_store*);
183
192SIFT3D_EXPORT int
194 const sift3d_descriptor_store *const);
195
206SIFT3D_EXPORT int
207sift3d_descriptor_store_to_mat_rm(const sift3d_descriptor_store *const,
208 sift3d_mat_rm *const);
209
210#ifdef __cplusplus
211}
212#endif
213
214#endif
Types and constants.
SIFT3D_EXPORT void sift3d_free_keypoint_store(sift3d_keypoint_store *)
Destroy a keypoint store.
SIFT3D_EXPORT int sift3d_keypoint_store_save(const char *path, const sift3d_keypoint_store *const)
Save keypoints to a file.
SIFT3D_EXPORT sift3d_descriptor_store * sift3d_make_descriptor_store()
Create an empty descriptor store.
SIFT3D_EXPORT sift3d_keypoint_store * sift3d_make_keypoint_store()
Create an empty keypoint store.
SIFT3D_EXPORT int sift3d_detector_set_corner_thresh(sift3d_detector *const, const double)
Set the corner threshold.
SIFT3D_EXPORT int sift3d_detector_set_sigma0(sift3d_detector *const, const double)
Sets the scale parameter of the first level of octave 0.
SIFT3D_EXPORT void sift3d_free_detector(sift3d_detector *)
Destroy a detector.
SIFT3D_EXPORT void sift3d_free_descriptor_store(sift3d_descriptor_store *)
Destroy a descriptor store.
SIFT3D_EXPORT int sift3d_extract_descriptors(sift3d_detector *const detector, const sift3d_keypoint_store *const kp_store, sift3d_descriptor_store *const desc_store)
Extract descriptors from the keypoints.
SIFT3D_EXPORT int sift3d_descriptor_store_save(const char *path, const sift3d_descriptor_store *const)
Save descriptors to a file.
SIFT3D_EXPORT void sift3d_keypoint_store_sort_by_strength(sift3d_keypoint_store *const, int limit)
Sort keypoints by strength, possibly removing weak keypoints.
SIFT3D_EXPORT int sift3d_detector_set_num_kp_levels(sift3d_detector *const, const unsigned int)
Set the number of images in a DoG pyramid per octave.
SIFT3D_EXPORT int sift3d_detector_set_peak_thresh(sift3d_detector *const, const double)
Set the relative DoG peak threshold.
SIFT3D_EXPORT sift3d_detector * sift3d_make_detector()
Create a detector.
SIFT3D_EXPORT int sift3d_descriptor_store_to_mat_rm(const sift3d_descriptor_store *const, sift3d_mat_rm *const)
Copy descriptors to a matrix.
SIFT3D_EXPORT int sift3d_detector_set_sigma_n(sift3d_detector *const, const double)
Set the nominal scale parameter of the input data.
SIFT3D_EXPORT int sift3d_detect_keypoints(sift3d_detector *const detector, const sift3d_image *const image, sift3d_keypoint_store *const store)
Detect keypoints in the image.
SIFT3D_EXPORT int sift3d_keypoint_store_to_mat_rm(const sift3d_keypoint_store *const, sift3d_mat_rm *const)
Copy keypoints to a matrix.