#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.