HALCON Reference Manual 10.0.2
Table of Contents / Filters / Inpainting ClassesClassesClasses | | | Operators

harmonic_interpolationharmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolation (Operator)

Name

harmonic_interpolationharmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolation — Perform a harmonic interpolation on an image region.

Signature

harmonic_interpolation(Image, Region : InpaintedImage : Precision : )

Herror harmonic_interpolation(const Hobject Image, const Hobject Region, Hobject* InpaintedImage, double Precision)

Herror T_harmonic_interpolation(const Hobject Image, const Hobject Region, Hobject* InpaintedImage, const Htuple Precision)

Herror harmonic_interpolation(Hobject Image, Hobject Region, Hobject* InpaintedImage, const HTuple& Precision)

HImage HImage::HarmonicInterpolation(const HRegion& Region, const HTuple& Precision) const

HImageArray HImageArray::HarmonicInterpolation(const HRegion& Region, const HTuple& Precision) const

void HOperatorSetX.HarmonicInterpolation(
[in] IHUntypedObjectX* Image, [in] IHUntypedObjectX* Region, [out] IHUntypedObjectX*InpaintedImage, [in] VARIANT Precision)

IHImageX* HImageX.HarmonicInterpolation(
[in] IHRegionX* Region, [in] double Precision)

static void HOperatorSet.HarmonicInterpolation(HObject image, HObject region, out HObject inpaintedImage, HTuple precision)

HImage HImage.HarmonicInterpolation(HRegion region, double precision)

Description

The operator harmonic_interpolationharmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolation reconstructs the destroyed image data of ImageImageImageImageimage inside the region RegionRegionRegionRegionregion by solving the discrete Laplace equation u_xx+u_yy=0 for the corresponding gray value function u. The unique solution, which exists under Dirichlet boundary conditions given by ImageImageImageImageimage outside of RegionRegionRegionRegionregion, is returned in InpaintedImageInpaintedImageInpaintedImageInpaintedImageinpaintedImage.

This technique is called harmonic interpolation since in function theory the solutions of the Laplace equation are referred to as harmonic functions.

If RegionRegionRegionRegionregion touches the border of the gray value matrix of ImageImageImageImageimage and thus some Dirichlet boundary values do not exist, von Neumann boundary conditions are used instead. This means that the gray values are mirrored at the border of ImageImageImageImageimage. If no Dirichlet boundary values exist at all, a constant image with gray value 0 is returned.

The spatial derivatives are discretized as u_xx(x,y)=u(x-1,y)-2u(x,y)+u(x+1,y) and u_yy(x,y)=u(x,y-1)-2u(x,y)+u(x,y+1) . The equation is solved by an iterative conjugate gradient solver, which iteratively improves the computational error until the maximum norm of its update step becomes a smaller fraction than PrecisionPrecisionPrecisionPrecisionprecision of the norm of the input data or a maximum of 1000 iterations is reached. PrecisionPrecisionPrecisionPrecisionprecision = 0.01 thus means a relative computational accuracy of 1%.

Parallelization

Parameters

ImageImageImageImageimage (input_object)  image(-array) objectHImageHImageHImageXHobject (byte / uint2 / real)

Input image.

RegionRegionRegionRegionregion (input_object)  region objectHRegionHRegionHRegionXHobject

Inpainting region.

InpaintedImageInpaintedImageInpaintedImageInpaintedImageinpaintedImage (output_object)  image(-array) objectHImageHImageHImageXHobject * (byte / uint2 / real)

Output image.

PrecisionPrecisionPrecisionPrecisionprecision (input_control)  real HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)

Computational accuracy.

Default value: 0.001

Suggested values: 0.0, 0.0001, 0.001, 0.01

Restriction: Precision >= 0.0

Alternatives

inpainting_ctinpainting_ctinpainting_ctInpaintingCtInpaintingCt, inpainting_anisoinpainting_anisoinpainting_anisoInpaintingAnisoInpaintingAniso, inpainting_mcfinpainting_mcfinpainting_mcfInpaintingMcfInpaintingMcf, inpainting_textureinpainting_textureinpainting_textureInpaintingTextureInpaintingTexture, inpainting_cedinpainting_cedinpainting_cedInpaintingCedInpaintingCed

References

L.C. Evans; “Partial Differential Equations”; AMS, Providence; 1998.
W. Hackbusch; “Iterative Lösung großer schwachbesetzter Gleichungssysteme”; Teubner, Stuttgart;1991.

Module

Foundation


Table of Contents / Filters / Inpainting ClassesClassesClasses | | | Operators
HALCON Reference Manual 10.0.2 Copyright © 1996-2011 MVTec Software GmbH