Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

sift.cc File Reference

#include "sift.hpp"
#include "sift-conv.tpp"
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cassert>
#include <cstring>
Include dependency graph for sift.cc:
This graph shows which files directly or indirectly include this file:

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)
PGM input/output

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,
 )     (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().


Tekkotsu v5.1CVS
Generated Mon May 9 04:59:02 2016 by Doxygen 1.6.3