tools/tca_correct.cpp File Reference
program to align a set of well overlapping images (~90%)
More...
#include <hugin_config.h>
#include <fstream>
#include <sstream>
#include <vigra/error.hxx>
#include <vigra/impex.hxx>
#include <vigra/cornerdetection.hxx>
#include <vigra/localminmax.hxx>
#include <hugin_utils/utils.h>
#include <hugin_math/hugin_math.h>
#include "vigra/stdimage.hxx"
#include "vigra/stdimagefunctions.hxx"
#include "vigra/functorexpression.hxx"
#include "vigra/transformimage.hxx"
#include <vigra_ext/Pyramid.h>
#include <vigra_ext/Correlation.h>
#include <vigra_ext/InterestPoints.h>
#include <vigra_ext/utils.h>
#include <panodata/Panorama.h>
#include <panodata/StandardImageVariableGroups.h>
#include <panotools/PanoToolsOptimizerWrapper.h>
#include <algorithms/optimizer/PTOptimizer.h>
#include <nona/Stitcher.h>
#include <levmar/lm.h>
#include <hugin_version.h>
#include <unistd.h>
#include <tiff.h>
Include dependency graph for tca_correct.cpp:
|
Classes |
| struct | Parameters |
| struct | OptimData |
Defines |
| #define | DEFAULT_OPTIMISATION_PARAMETER "abcvde" |
Functions |
| template<class IMAGET, class ACCESSORT, class IMAGES, class ACCESSORS> |
| CorrelationResult | PointFineTune2 (const IMAGET &templImg, ACCESSORT access_t, vigra::Diff2D templPos, int templSize, const IMAGES &searchImg, ACCESSORS access_s, vigra::Diff2D searchPos, int sWidth) |
| | fine tune a point with normalized cross correlation
|
| template<class ImageType> |
| void | createCtrlPoints (Panorama &pano, const ImageType &img, int imgRedNr, int imgGreenNr, int imgBlueNr, double scale, int nPoints, int grid) |
| template<class ImageType> |
| void | createCtrlPointsOld (Panorama &pano, const ImageType &img, int imgRedNr, int imgGreenNr, int imgBlueNr, double scale, double cornerThreshold) |
| void | get_optvars (OptimizeVector &_retval) |
| int | optimize_old (Panorama &pano) |
| double | weightHuber (double x, double sigma) |
| void | optGetError (double *p, double *x, int m, int n, void *data) |
| int | optVis (double *p, double *x, int m, int n, int iter, double sqerror, void *data) |
| void | optimize_new (PanoramaData &pano) |
| int | main2 (Panorama &pano) |
| template<class PixelType> |
| int | processImg (const char *filename) |
| int | processPTO (const char *filename) |
| void | resetValues (Panorama &pano) |
| void | print_result (Panorama &pano) |
| int | main (int argc, char *argv[]) |
Variables |
| int | g_verbose = 0 |
| Parameters | g_param |
Detailed Description
program to align a set of well overlapping images (~90%)
- Author:
- Pablo d'Angelo <pablo.dangelo@web.de>
- Id
- align_image_stack.cpp 2493 2007-10-24 20:26:26Z dangelo
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this software; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Define Documentation
| #define DEFAULT_OPTIMISATION_PARAMETER "abcvde" |
|
Function Documentation
|
template<class ImageType> |
| void createCtrlPoints |
( |
Panorama & |
pano, |
|
|
const ImageType & |
img, |
|
|
int |
imgRedNr, |
|
|
int |
imgGreenNr, |
|
|
int |
imgBlueNr, |
|
|
double |
scale, |
|
|
int |
nPoints, |
|
|
int |
grid |
|
) |
|
|
|
template<class ImageType> |
| void createCtrlPointsOld |
( |
Panorama & |
pano, |
|
|
const ImageType & |
img, |
|
|
int |
imgRedNr, |
|
|
int |
imgGreenNr, |
|
|
int |
imgBlueNr, |
|
|
double |
scale, |
|
|
double |
cornerThreshold |
|
) |
|
|
| int main |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
|
|
| void optGetError |
( |
double * |
p, |
|
|
double * |
x, |
|
|
int |
m, |
|
|
int |
n, |
|
|
void * |
data |
|
) |
|
|
| int optVis |
( |
double * |
p, |
|
|
double * |
x, |
|
|
int |
m, |
|
|
int |
n, |
|
|
int |
iter, |
|
|
double |
sqerror, |
|
|
void * |
data |
|
) |
|
|
|
template<class IMAGET, class ACCESSORT, class IMAGES, class ACCESSORS> |
| CorrelationResult PointFineTune2 |
( |
const IMAGET & |
templImg, |
|
|
ACCESSORT |
access_t, |
|
|
vigra::Diff2D |
templPos, |
|
|
int |
templSize, |
|
|
const IMAGES & |
searchImg, |
|
|
ACCESSORS |
access_s, |
|
|
vigra::Diff2D |
searchPos, |
|
|
int |
sWidth |
|
) |
|
|
|
|
fine tune a point with normalized cross correlation
takes a patch of templSize by templSize from templImg images at tmplPos and searches it on the searchImg, at searchPos, in a neighbourhood of sWidth by sWidth.
The result in returned in tunedPos
- Returns:
- correlation value
|
|
template<class PixelType> |
| int processImg |
( |
const char * |
filename |
) |
|
|
| int processPTO |
( |
const char * |
filename |
) |
|
|
Variable Documentation