[an error occurred while processing this directive]
Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

hugin1/tools/automatch.cpp File Reference

#include <config.h>
#include <fstream>
#include <sstream>
#include <vigra/error.hxx>
#include <vigra/impex.hxx>
#include "klt/klt.h"
#include <unistd.h>
#include "panoinc.h"

Include dependency graph for automatch.cpp:

Include dependency graph

Namespaces

namespace  AngularMatching

Classes

struct  AngularMatching::ValueHistogram< TYPE >
 A histogram container class. More...
struct  AngularMatching::Line
struct  AngularMatching::shorterLine
struct  AngularMatching::Triangle
 Triangle. More...
struct  AngularMatching::DistSet
struct  ImgVars

Functions

double calcSphericalDist (const FDiff2D &p1, const FDiff2D &p2)
double calcDihedralAngle (double a, double b, double c)
 calculate angle between AB and AC
ostream & operator<< (ostream &o, const Triangle &t)
void printMatrix (ostream &o, double *mat, int width, int height)
void matchTriangleFeatures (Panorama &pano, unsigned int img1, const vector< FDiff2D > &points1, unsigned int img2, const vector< FDiff2D > &points2, int nTriang, double degthresh, int voteThreshhold)
 try to match the given points by matching triangles.
void loadAndAddImage (vigra::BImage &img, const std::string &filename, Panorama &pano, const ImgVars &imgvars)
void copyFLToVector (KLT_FeatureList fl, vector< FDiff2D > &features)
int main (int argc, char *argv[])

Function Documentation

double calcDihedralAngle double  a,
double  b,
double  c
 

calculate angle between AB and AC

see http://mathworld.wolfram.com/SphericalTrigonometry.html

for formulas and definitions. a, b, c are the angular length of the sides opposite to points A, B, C

This may be ill conditioned if a,b,c are very small. but should be ok for our cases.

double calcSphericalDist const FDiff2D p1,
const FDiff2D p2
 

void copyFLToVector KLT_FeatureList  fl,
vector< FDiff2D > &  features
 

void loadAndAddImage vigra::BImage &  img,
const std::string &  filename,
Panorama pano,
const ImgVars imgvars
 

int main int  argc,
char *  argv[]
 

void matchTriangleFeatures Panorama pano,
unsigned int  img1,
const vector< FDiff2D > &  points1,
unsigned int  img2,
const vector< FDiff2D > &  points2,
int  nTriang,
double  degthresh,
int  voteThreshhold
 

try to match the given points by matching triangles.

uses spherical coordinates, on a unit sphere (see mathworld.wolfram.com) azimuth angle (longitude) (in xy-plane, from x axis) (FDiff2D::x) polar angle (colatitude) (angle from z axis) (FDiff2D::y) r = 1

ostream& operator<< ostream &  o,
const Triangle &  t
 

void printMatrix ostream &  o,
double mat,
int  width,
int  height
 


Generated on Mon Sep 20 01:01:29 2010 for Hugintrunk by doxygen 1.3.9.1