sift.cc File Reference#include "sift.hpp"
#include "sift-conv.tpp"
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cassert>
#include <cstring>
Go to the source code of this file.
Namespaces |
namespace | VL |
| VisionLab namespace.
|
namespace | VL::Detail |
Defines |
#define | CHECK_NEIGHBORS(CMP, SGN) |
#define | at(dx, dy, ds) (*( pt + (dx)*xo + (dy)*yo + (ds)*so)) |
#define | Aat(i, j) (A[(i)+(j)*3]) |
#define | at(dx, dy) (*(pt + (dx)*xo + (dy)*yo)) |
#define | atd(dbinx, dbiny, dbint) *(dpt + (dbint)*binto + (dbiny)*binyo + (dbinx)*binxo) |
Functions |
std::istream & | VL::Detail::operator>> (std::istream &is, _cmnt &manip) |
| Extract a comment from a stream.
|
void | VL::Detail::copy (pixel_t *dst, pixel_t const *src, int width, int height) |
| Copy an image.
|
void | VL::Detail::copyAndUpsampleRows (pixel_t *dst, pixel_t const *src, int width, int height) |
| Copy an image upsampling two times.
|
void | VL::Detail::copyAndDownsample (pixel_t *dst, pixel_t const *src, int width, int height, int d) |
| Copy and downasample an image.
|
void | VL::Detail::normalize_histogram (VL::float_t *L_begin, VL::float_t *L_end) |
|
|
std::ostream & | VL::insertPgm (std::ostream &os, pixel_t const *im, int width, int height) |
| Insert PGM file into stream.
|
void | VL::createPgmBufferFromArray (int w, int h, pixel_t *d, PgmBuffer &buffer) |
std::istream & | VL::extractPgm (std::istream &in, PgmBuffer &buffer) |
| Extract PGM file from stream.
|
Variables |
int const | VL::Detail::expnTableSize = 256 |
VL::float_t const | VL::Detail::expnTableMax = VL::float_t(25.0) |
VL::float_t | VL::Detail::expnTable [expnTableSize+1] |
struct VL::Detail::buildExpnTable | VL::Detail::_buildExpnTable |
class VL::Detail::_cmnt | VL::Detail::cmnt |
Define Documentation
#define Aat |
( |
i, |
|
|
j |
|
) |
(A[(i)+(j)*3]) |
#define at |
( |
dx, |
|
|
dy |
|
) |
(*(pt + (dx)*xo + (dy)*yo)) |
#define at |
( |
dx, |
|
|
dy, |
|
|
ds |
|
) |
(*( pt + (dx)*xo + (dy)*yo + (ds)*so)) |
#define atd |
( |
dbinx, |
|
|
dbiny, |
|
|
dbint |
|
) |
*(dpt + (dbint)*binto + (dbiny)*binyo + (dbinx)*binxo) |
#define CHECK_NEIGHBORS |
( |
CMP, |
|
|
SGN |
|
) |
|
Value:( v CMP ## = SGN 0.8 * threshold && \
v CMP *(pt + xo) && \
v CMP *(pt - xo) && \
v CMP *(pt + so) && \
v CMP *(pt - so) && \
v CMP *(pt + yo) && \
v CMP *(pt - yo) && \
\
v CMP *(pt + yo + xo) && \
v CMP *(pt + yo - xo) && \
v CMP *(pt - yo + xo) && \
v CMP *(pt - yo - xo) && \
\
v CMP *(pt + xo + so) && \
v CMP *(pt - xo + so) && \
v CMP *(pt + yo + so) && \
v CMP *(pt - yo + so) && \
v CMP *(pt + yo + xo + so) && \
v CMP *(pt + yo - xo + so) && \
v CMP *(pt - yo + xo + so) && \
v CMP *(pt - yo - xo + so) && \
\
v CMP *(pt + xo - so) && \
v CMP *(pt - xo - so) && \
v CMP *(pt + yo - so) && \
v CMP *(pt - yo - so) && \
v CMP *(pt + yo + xo - so) && \
v CMP *(pt + yo - xo - so) && \
v CMP *(pt - yo + xo - so) && \
v CMP *(pt - yo - xo - so) )
Referenced by VL::Sift::detectKeypoints().
|