Hugintrunk
0.1
|
program to align a set of well overlapping images (~90%) More...
#include <hugin_config.h>
#include <fstream>
#include <sstream>
#include <iostream>
#include <vigra/error.hxx>
#include <vigra/cornerdetection.hxx>
#include <vigra/localminmax.hxx>
#include <hugin_utils/utils.h>
#include <vigra_ext/Pyramid.h>
#include <vigra_ext/Correlation.h>
#include <vigra_ext/InterestPoints.h>
#include <vigra_ext/impexalpha.hxx>
#include <panodata/Panorama.h>
#include <panotools/PanoToolsOptimizerWrapper.h>
#include <panodata/StandardImageVariableGroups.h>
#include <algorithms/optimizer/PTOptimizer.h>
#include <nona/Stitcher.h>
#include <algorithms/basic/CalculateOptimalROI.h>
#include <lensdb/LensDB.h>
#include <getopt.h>
#include <hugin_utils/openmp_lock.h>
#include <tiff.h>
Go to the source code of this file.
Classes | |
struct | Parameters |
struct | SortImageVectorEV |
Namespaces | |
detail | |
Typedefs | |
typedef std::multimap< double, vigra::Diff2D > | MapPoints |
Functions | |
static void | usage (const char *name) |
template<class ImageType > | |
vigra_ext::CorrelationResult | detail::FineTunePoint (const ImageType &leftImg, const vigra::Diff2D templPos, const int templSize, const ImageType &rightImg, const vigra::Diff2D searchPos, const int searchWidth, vigra::VigraTrueType) |
template<class ImageType > | |
vigra_ext::CorrelationResult | detail::FineTunePoint (const ImageType &leftImg, const vigra::Diff2D templPos, const int templSize, const ImageType &rightImg, const vigra::Diff2D searchPos, const int searchWidth, vigra::VigraFalseType) |
template<class ImageType > | |
void | FineTuneInterestPoints (HuginBase::Panorama &pano, int img1, const ImageType &leftImg, const ImageType &leftImgOrig, int img2, const ImageType &rightImg, const ImageType &rightImgOrig, const MapPoints &points, unsigned nPoints, int pyrLevel, int templWidth, int sWidth, double scaleFactor, double corrThresh, bool stereo) |
template<class ImageType > | |
void | detail::FindInterestPointsPartial (const ImageType &image, const vigra::Rect2D &rect, double scale, unsigned nPoints, std::multimap< double, vigra::Diff2D > &points, vigra::VigraTrueType) |
template<class ImageType > | |
void | detail::FindInterestPointsPartial (const ImageType &image, const vigra::Rect2D &rect, double scale, unsigned nPoints, std::multimap< double, vigra::Diff2D > &points, vigra::VigraFalseType) |
template<class ImageType > | |
void | createCtrlPoints (HuginBase::Panorama &pano, int img1, const ImageType &leftImg, const ImageType &leftImgOrig, int img2, const ImageType &rightImg, const ImageType &rightImgOrig, int pyrLevel, double scale, unsigned nPoints, unsigned grid, double corrThresh=0.9, bool stereo=false) |
void | alignStereoWindow (HuginBase::Panorama &pano, bool pop_out) |
void | autoCrop (HuginBase::Panorama &pano) |
static int | ptProgress (int command, char *argument) |
static int | ptinfoDlg (int command, char *argument) |
template<class PixelType > | |
int | main2 (std::vector< std::string > files, Parameters param) |
int | main (int argc, char *argv[]) |
Variables | |
int | g_verbose = 0 |
static hugin_omp::Lock | lock |
program to align a set of well overlapping images (~90%)
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, see http://www.gnu.org/licenses/.
Definition in file align_image_stack.cpp.
typedef std::multimap<double, vigra::Diff2D> MapPoints |
Definition at line 117 of file align_image_stack.cpp.
void alignStereoWindow | ( | HuginBase::Panorama & | pano, |
bool | pop_out | ||
) |
Definition at line 335 of file align_image_stack.cpp.
References HuginBase::Panorama::getCtrlPoints(), HuginBase::Panorama::getImage(), HuginBase::Panorama::getNrOfImages(), HuginBase::Panorama::getOptions(), HuginBase::Panorama::setCtrlPoints(), HuginBase::ControlPoint::X, and HuginBase::ControlPoint::X_Y.
Referenced by main2().
void autoCrop | ( | HuginBase::Panorama & | pano | ) |
Definition at line 437 of file align_image_stack.cpp.
References HuginBase::Panorama::getOptions(), HuginBase::CalculateOptimalROI::getResultOptimalROI(), HuginBase::PanoramaAlgorithm::run(), HuginBase::Panorama::setOptions(), and HuginBase::PanoramaOptions::setROI().
Referenced by main2().
void createCtrlPoints | ( | HuginBase::Panorama & | pano, |
int | img1, | ||
const ImageType & | leftImg, | ||
const ImageType & | leftImgOrig, | ||
int | img2, | ||
const ImageType & | rightImg, | ||
const ImageType & | rightImgOrig, | ||
int | pyrLevel, | ||
double | scale, | ||
unsigned | nPoints, | ||
unsigned | grid, | ||
double | corrThresh = 0.9 , |
||
bool | stereo = false |
||
) |
Definition at line 238 of file align_image_stack.cpp.
References HuginBase::Panorama::addCtrlPoint(), detail::FindInterestPointsPartial(), FineTuneInterestPoints(), g_verbose, and HuginBase::ControlPoint::X.
Referenced by main2(), and processImg().
void FineTuneInterestPoints | ( | HuginBase::Panorama & | pano, |
int | img1, | ||
const ImageType & | leftImg, | ||
const ImageType & | leftImgOrig, | ||
int | img2, | ||
const ImageType & | rightImg, | ||
const ImageType & | rightImgOrig, | ||
const MapPoints & | points, | ||
unsigned | nPoints, | ||
int | pyrLevel, | ||
int | templWidth, | ||
int | sWidth, | ||
double | scaleFactor, | ||
double | corrThresh, | ||
bool | stereo | ||
) |
Definition at line 144 of file align_image_stack.cpp.
References HuginBase::Panorama::addCtrlPoint(), vigra_ext::CorrelationResult::curv, DEBUG_DEBUG, detail::FineTunePoint(), g_verbose, vigra_ext::CorrelationResult::maxi, vigra_ext::CorrelationResult::maxpos, hugin_utils::TDiff2D< T >::x, HuginBase::ControlPoint::X_Y, HuginBase::ControlPoint::Y, and hugin_utils::TDiff2D< T >::y.
Referenced by createCtrlPoints().
int main | ( | int | argc, |
char * | argv[] | ||
) |
Definition at line 1039 of file align_image_stack.cpp.
References Parameters::alignedPrefix, Parameters::alignToFirst, HuginBase::LensDB::LensDB::Clean(), Parameters::corrThresh, Parameters::cpErrorThreshold, Parameters::crop, Parameters::dontRemapRef, Parameters::fisheye, g_verbose, hugin_utils::getExtension(), Parameters::gpu, Parameters::grid, Parameters::hdrFile, Parameters::hfov, hugin_utils::initGPU(), hugin_utils::IsRawExtension(), Parameters::linear, Parameters::loadDistortion, Parameters::nPoints, Parameters::optCenter, Parameters::optDistortion, Parameters::optHFOV, Parameters::optX, Parameters::optY, Parameters::optZ, Parameters::pop_out, Parameters::ptoFile, Parameters::pyrLevel, Parameters::sortImagesByEv, Parameters::stereo, Parameters::stereo_window, hugin_utils::stripPath(), usage(), and hugin_utils::wrapupGPU().
int main2 | ( | std::vector< std::string > | files, |
Parameters | param | ||
) |
Definition at line 539 of file align_image_stack.cpp.
References HuginBase::Panorama::activateImage(), HuginBase::Panorama::addImage(), Parameters::alignedPrefix, alignStereoWindow(), Parameters::alignToFirst, HuginBase::SrcPanoImage::applyEXIFValues(), autoCrop(), Parameters::corrThresh, Parameters::cpErrorThreshold, createCtrlPoints(), Parameters::crop, vigra_ext::destImage(), vigra_ext::destImageRange(), Parameters::dontRemapRef, Parameters::fisheye, HuginBase::BaseSrcPanoImage::FULL_FRAME_FISHEYE, HuginBase::PanoramaOptions::FULL_FRAME_FISHEYE, g_verbose, HuginBase::Panorama::getActiveImages(), HuginBase::Panorama::getCtrlPoints(), HuginBase::Panorama::getCtrlPointsForImage(), HuginBase::Panorama::getImage(), HuginBase::getImagesinROI(), HuginBase::StandardImageVariableGroups::getLenses(), HuginBase::Panorama::getNrOfCtrlPoints(), HuginBase::Panorama::getOptimizeVector(), HuginBase::Panorama::getOptions(), HuginBase::Panorama::getSrcImage(), Parameters::gpu, Parameters::grid, HuginBase::PanoramaOptions::HDR, Parameters::hdrFile, Parameters::hfov, HuginBase::PanoramaOptions::huberSigma, vigra::importImageAlpha(), Parameters::linear, Parameters::loadDistortion, Parameters::nPoints, Parameters::optCenter, Parameters::optDistortion, Parameters::optHFOV, HuginBase::PTools::optimize(), Parameters::optX, Parameters::optY, Parameters::optZ, HuginBase::PanoramaOptions::OUTPUT_HDR, HuginBase::PanoramaOptions::OUTPUT_LDR, HuginBase::PanoramaOptions::outputExposureValue, HuginBase::PanoramaOptions::outputFormat, HuginBase::PanoramaOptions::outputMode, HuginBase::PanoramaOptions::outputPixelType, Parameters::pop_out, ptinfoDlg(), Parameters::ptoFile, ptProgress(), Parameters::pyrLevel, HuginBase::SrcPanoImage::readDistortionFromDB(), HuginBase::SrcPanoImage::readEXIF(), HuginBase::PanoramaOptions::RECTILINEAR, vigra_ext::reduceNTimes(), HuginBase::PanoramaOptions::remapUsingGPU, HuginBase::BaseSrcPanoImage::RESPONSE_LINEAR, HuginBase::Nona::SetAdvancedOption(), HuginBase::Panorama::setCtrlPoints(), HuginBase::PanoramaOptions::setHeight(), HuginBase::PanoramaOptions::setHFOV(), HuginBase::Panorama::setOptimizeVector(), HuginBase::Panorama::setOptions(), HuginBase::PanoramaOptions::setProjection(), HuginBase::SrcPanoImage::setSize(), HuginBase::PanoramaOptions::setWidth(), Parameters::sortImagesByEv, Parameters::stereo, Parameters::stereo_window, HuginBase::Nona::stitchPanorama(), HuginBase::ImageVariableGroup::switchParts(), HuginBase::PanoramaOptions::TIFF_m, HuginBase::PanoramaOptions::tiff_saveROI, HuginBase::StandardImageVariableGroups::update(), HuginBase::Panorama::WritePTOFile(), and HuginBase::ControlPoint::X.
Referenced by processImg(), and processPTO().
|
static |
Definition at line 521 of file align_image_stack.cpp.
Referenced by main2().
|
static |
Definition at line 517 of file align_image_stack.cpp.
Referenced by main2().
|
static |
Definition at line 64 of file align_image_stack.cpp.
References hugin_utils::GetHuginVersion().
int g_verbose = 0 |
Definition at line 62 of file align_image_stack.cpp.
Referenced by createCtrlPoints(), FineTuneInterestPoints(), main(), main2(), mergeWeightedAverage(), and weightedAverageOfImageFiles().
|
static |
Definition at line 118 of file align_image_stack.cpp.