#include "generic-driver.h"#include <vl/generic.h>#include <vl/stringop.h>#include <vl/pgm.h>#include <vl/sift.h>#include <vl/getopt_long.h>#include <stdlib.h>#include <stdio.h>#include <assert.h>
Go to the source code of this file.
Defines | |
| #define | ERR(msg) |
| #define | ERRF(msg, arg) |
| #define | PRNFO(name, fm) |
| #define | QERR |
| #define | VL_SIFT_DRIVER_VERSION 0.1 |
| #define | WERR(name, op) |
Enumerations | |
| enum | { opt_meta = 1000, opt_frames, opt_descriptors, opt_gss, opt_first_octave, opt_edge_thresh, opt_peak_thresh, opt_magnif, opt_read_frames, opt_orientations } |
Functions | |
| int | korder (void const *a, void const *b) |
| Keypoint ordering. | |
| int | main (int argc, char **argv) |
| SIFT driver entry point. | |
| static int | save_gss (VlSiftFilt *filt, VlFileMeta *fm, const char *basename, int verbose) |
| Save octave on disk. | |
Variables | |
| char const | help_message [] = "\n" |
| struct option const | longopts [] |
| char const | opts [] = "vhO:S:o:" |
| #define ERR | ( | msg | ) |
{ \
err = VL_ERR_BAD_ARG ; \
snprintf(err_msg, sizeof(err_msg), msg) ; \
break ; \
}
| #define ERRF | ( | msg, | |
| arg | |||
| ) |
{ \
err = VL_ERR_BAD_ARG ; \
snprintf(err_msg, sizeof(err_msg), msg, arg) ; \
break ; \
}
| #define PRNFO | ( | name, | |
| fm | |||
| ) |
printf("sift: " name) ; \ printf("%3s ", (fm).active ? "yes" : "no") ; \ printf("%-6s ", vl_string_protocol_name ((fm).protocol)) ; \ printf("%-10s\n", (fm).pattern) ;
| #define QERR |
if (err ) { \ snprintf (err_msg, sizeof(err_msg), \ "'%s' malformed", ifr.name) ; \ err = VL_ERR_IO ; \ goto done ; \ }
| #define VL_SIFT_DRIVER_VERSION 0.1 |
Definition at line 15 of file src/sift.c.
| #define WERR | ( | name, | |
| op | |||
| ) |
if (err == VL_ERR_OVERFLOW) { \ snprintf(err_msg, sizeof(err_msg), \ "Output file name too long.") ; \ goto done ; \ } else if (err) { \ snprintf(err_msg, sizeof(err_msg), \ "Could not open '%s' for " #op, name) ; \ goto done ; \ }
| anonymous enum |
| opt_meta | |
| opt_frames | |
| opt_descriptors | |
| opt_gss | |
| opt_first_octave | |
| opt_edge_thresh | |
| opt_peak_thresh | |
| opt_magnif | |
| opt_read_frames | |
| opt_orientations |
Definition at line 54 of file src/sift.c.
Keypoint ordering.
Definition at line 167 of file src/sift.c.
| int main | ( | int argc | , |
| char ** | argv | ||
| ) |
SIFT driver entry point.
Definition at line 178 of file src/sift.c.
| static int save_gss | ( | VlSiftFilt * | filt, |
| VlFileMeta * | fm, | ||
| const char * | basename, | ||
| int | verbose | ||
| ) | [static] |
Save octave on disk.
Definition at line 95 of file src/sift.c.
| char const help_message[] = "\n" |
Definition at line 31 of file src/sift.c.
{
{ "verbose", no_argument, 0, 'v' },
{ "help", no_argument, 0, 'h' },
{ "octaves", required_argument, 0, 'O' },
{ "levels", required_argument, 0, 'S' },
{ "output", required_argument, 0, 'o' },
{ "meta", optional_argument, 0, opt_meta },
{ "frames", optional_argument, 0, opt_frames },
{ "descriptors", optional_argument, 0, opt_descriptors },
{ "gss", optional_argument, 0, opt_gss },
{ "first-octave", required_argument, 0, opt_first_octave },
{ "edge-thresh", required_argument, 0, opt_edge_thresh },
{ "peak-thresh", required_argument, 0, opt_peak_thresh },
{ "magnif", required_argument, 0, opt_magnif },
{ "read-frames", required_argument, 0, opt_read_frames },
{ "orientations", no_argument, 0, opt_orientations },
{ 0, 0, 0, 0 }
}
Definition at line 71 of file src/sift.c.
| char const opts[] = "vhO:S:o:" |
Definition at line 68 of file src/sift.c.