harmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolation (Operator)

Name

harmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolation — Harmonische Interpolation auf einer Bildregion.

Signatur

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)

void HarmonicInterpolation(const HObject& Image, const HObject& Region, HObject* InpaintedImage, const HTuple& Precision)

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

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

HImage HImage.HarmonicInterpolation(HRegion region, double precision)

Beschreibung

Der Operator harmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolationHarmonicInterpolation rekonstruiert die in ImageImageImageImageimage zerstörten Bilddaten innerhalb der Region RegionRegionRegionRegionregion, indem er dort die diskrete Laplacegleichung auf der Grauwertfunktion u löst. Die mit den Dirichtlet-Randwerten aus ImageImageImageImageimage außerhalb von RegionRegionRegionRegionregion eindeutlige Lösung wird in InpaintedImageInpaintedImageInpaintedImageInpaintedImageinpaintedImage zurückgeliefert.

Diese Methode nennt man harmonische Interpolation, da in der Funktionentheorie die Lösungen der Laplacegleichung als harmonische Funktionen bezeichnet werden.

Falls RegionRegionRegionRegionregion den Rand der Grauwertmatrix von ImageImageImageImageimage berührt und damit einige der Dirichlet-Randwerte nicht existieren, werden stattdessen von Neumann-Randwerte verwendet. Dies bedeutet, dass die Grauwerte am Rand von ImageImageImageImageimage gespiegelt werden. Existieren überhaupt keine Dirichlet-Randwerte, so wird ein konstantes Bild mit Grauwert 0 zurückgeliefert.

Die Ortsableitungen werden diskretisiert durch und . Die Gleichung wird mit Hilfe eines iterativen Konjugierte Gradienten Lösers behandelt, der die Genauigkeit schrittweise verbessert, bis die Maximum-Norm des Update-Schrittes unter den Anteil PrecisionPrecisionPrecisionPrecisionprecision der Norm der Eingabedaten fällt oder die maximale Anzahl von 1000 Schritten erreicht ist. PrecisionPrecisionPrecisionPrecisionprecision = 0.01 entspricht so einer relativen Rechengenauigkeit von 1%.

Achtung

Beachten Sie, dass Filteroperatoren eventuell unerwartete Resultate ausgeben, wenn ein Bild mit einer reduzierten Domäne als Input übergeben wird. Weitere Informationen können im Kapitel Filter gefunden werden.

Ausführungsinformationen

Parameter

ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / uint2 / real)

Eingabebild.

RegionRegionRegionRegionregion (input_object)  region objectHRegionHRegionHobject

Inpaintingregion.

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

Ausgabebild.

PrecisionPrecisionPrecisionPrecisionprecision (input_control)  real HTupleHTupleHtuple (real) (double) (double) (double)

Rechengenauigkeit.

Defaultwert: 0.001

Wertevorschläge: 0.0, 0.0001, 0.001, 0.01

Restriktion: Precision >= 0.0

Alternativen

inpainting_ctinpainting_ctInpaintingCtInpaintingCtInpaintingCt, inpainting_anisoinpainting_anisoInpaintingAnisoInpaintingAnisoInpaintingAniso, inpainting_mcfinpainting_mcfInpaintingMcfInpaintingMcfInpaintingMcf, inpainting_textureinpainting_textureInpaintingTextureInpaintingTextureInpaintingTexture, inpainting_cedinpainting_cedInpaintingCedInpaintingCedInpaintingCed

Literatur

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

Modul

Foundation