harmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolationharmonic_interpolation (Operator)

Name

harmonic_interpolationharmonic_interpolationHarmonicInterpolationHarmonicInterpolationharmonic_interpolation — 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)

def harmonic_interpolation(image: HObject, region: HObject, precision: float) -> HObject

Beschreibung

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

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

Falls RegionRegionRegionRegionregionregion den Rand der Grauwertmatrix von ImageImageImageImageimageimage berührt und damit einige der Dirichlet-Randwerte nicht existieren, werden stattdessen von Neumann-Randwerte verwendet. Dies bedeutet, dass die Grauwerte am Rand von ImageImageImageImageimageimage 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 PrecisionPrecisionPrecisionPrecisionprecisionprecision der Norm der Eingabedaten fällt oder die maximale Anzahl von 1000 Schritten erreicht ist. PrecisionPrecisionPrecisionPrecisionprecisionprecision = 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

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte / uint2 / real)

Eingabebild.

RegionRegionRegionRegionregionregion (input_object)  region objectHRegionHObjectHRegionHobject

Inpaintingregion.

InpaintedImageInpaintedImageInpaintedImageInpaintedImageinpaintedImageinpainted_image (output_object)  image(-array) objectHImageHObjectHImageHobject * (byte / uint2 / real)

Ausgabebild.

PrecisionPrecisionPrecisionPrecisionprecisionprecision (input_control)  real HTuplefloatHTupleHtuple (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_ctInpaintingCtInpaintingCtInpaintingCtinpainting_ct, inpainting_anisoinpainting_anisoInpaintingAnisoInpaintingAnisoInpaintingAnisoinpainting_aniso, inpainting_mcfinpainting_mcfInpaintingMcfInpaintingMcfInpaintingMcfinpainting_mcf, inpainting_textureinpainting_textureInpaintingTextureInpaintingTextureInpaintingTextureinpainting_texture, inpainting_cedinpainting_cedInpaintingCedInpaintingCedInpaintingCedinpainting_ced

Literatur

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

Modul

Foundation