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:
|
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
|
|
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. |
| 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 |
|
) |
|
|