Hugintrunk
0.1
|
solve poisson equation for blending images More...
#include <iostream>
#include <vigra/stdimage.hxx>
#include <vigra/convolution.hxx>
#include <vigra/stdconvolution.hxx>
#include <vigra/basicgeometry.hxx>
#include "openmp_vigra.h"
Go to the source code of this file.
Classes | |
struct | vigra_ext::poisson::detail::FilterEdges |
class | vigra_ext::poisson::MaskGreaterAccessor< PixelType > |
class | vigra_ext::poisson::MaskSmallerAccessor< PixelType > |
Namespaces | |
vigra_ext | |
vigra_ext::poisson | |
vigra_ext::poisson::detail | |
Macros | |
#define | DEBUG_TIMING |
Functions | |
template<class Image , class Mask > | |
vigra::NumericTraits< typename Image::PixelType > ::RealPromote | vigra_ext::poisson::detail::ProcessNeighborPixels (const int x, const int y, const int dx, const int dy, const Image &image, const Mask &mask) |
template<class Image , class Mask , class SeamMask > | |
vigra::NumericTraits< typename Image::PixelType > ::RealPromote | vigra_ext::poisson::detail::ProcessBorderPixel (const int x, const int y, const int dx, const int dy, const Image &image, const Mask &mask, const SeamMask &seam) |
template<class Image , class SeamMask > | |
Image::PixelType | vigra_ext::poisson::detail::GetBorderGradient (const int x, const int y, const int dx, const int dy, const SeamMask &seams, const Image &image1, const vigra::Point2D &offset) |
template<class Image , class SeamMask > | |
vigra::NumericTraits< typename Image::PixelType > ::RealPromote | vigra_ext::poisson::detail::GetBorderValues (const int x, const int y, int dx, int dy, const Image &image, const SeamMask &seams) |
template<class Image > | |
void | vigra_ext::poisson::detail::RestrictErrorToNextLevel (const Image &in, Image &out) |
template<class Image1 , class Image2 > | |
void | vigra_ext::poisson::detail::SimpleConvolveImage4 (const Image1 &image1, Image2 &image2, const double factor1, const double factor2) |
template<class Image > | |
vigra::Int8Image | vigra_ext::poisson::detail::FindEdgesForPoisson (const Image &input) |
mark edges in input image for poisson blending * input: expected an image with following meanings labels has now the following values: 0: no image here 1: use information from image 1 5: use information from image 2 output: contains the following pixel values 0: no information available 1: at boundary between image 1 and 2: here we use Dirichlet boundary condition 2: at boundary between image 2 and empty pixels: here Neumann boundary condition applies 3: inside image 2 More... | |
template<class ComponentType > | |
double | vigra_ext::poisson::detail::GetRealValue (const ComponentType &val) |
template<class ComponentType > | |
double | vigra_ext::poisson::detail::GetRealValue (const vigra::RGBValue< ComponentType > &val) |
template<class Image , class SeamMask > | |
void | vigra_ext::poisson::detail::SOR (Image &target, const Image &gradient, const SeamMask &seams, const float omega, const float errorThreshold, const int maxIter, const bool doWrap) |
template<class Image , class SeamMask > | |
void | vigra_ext::poisson::detail::CalcResidualError (Image &error, const Image &target, const Image &gradient, const SeamMask &seam, const bool doWrap) |
template<class Image , class PyramidImage > | |
void | vigra_ext::poisson::BuildSeamPyramid (const Image &input, vigra::ImagePyramid< PyramidImage > &seams, const int minLength) |
template<class Image , class Mask , class SeamMask , class GradientType > | |
void | vigra_ext::poisson::BuildGradientMap (const Image &image1, const Image &image2, const Mask &mask2, const SeamMask &seam, GradientType &gradient, const vigra::Point2D &offset, const bool doWrap) |
template<class Image , class SeamMask > | |
void | vigra_ext::poisson::Multigrid (Image &out, const Image &gradient, const vigra::ImagePyramid< SeamMask > &seamMaskPyramid, int minLen, const float errorThreshold, const int maxIter, const bool doWrap) |
solve poisson equation for blending images
Definition in file BlendPoisson.h.
#define DEBUG_TIMING |
Definition at line 38 of file BlendPoisson.h.