KlassenKlassenKlassenKlassen | | | | Operatoren

interpolate_scattered_data_imageT_interpolate_scattered_data_imageInterpolateScatteredDataImageinterpolate_scattered_data_imageInterpolateScatteredDataImageInterpolateScatteredDataImage (Operator)

Name

interpolate_scattered_data_imageT_interpolate_scattered_data_imageInterpolateScatteredDataImageinterpolate_scattered_data_imageInterpolateScatteredDataImageInterpolateScatteredDataImage — Interpolation eines Bildes.

Signatur

interpolate_scattered_data_image(Image, RegionInterpolate : ImageInterpolated : Method, GenParamNames, GenParamValues : )

Herror T_interpolate_scattered_data_image(const Hobject Image, const Hobject RegionInterpolate, Hobject* ImageInterpolated, const Htuple Method, const Htuple GenParamNames, const Htuple GenParamValues)

Herror interpolate_scattered_data_image(Hobject Image, Hobject RegionInterpolate, Hobject* ImageInterpolated, const HTuple& Method, const HTuple& GenParamNames, const HTuple& GenParamValues)

void InterpolateScatteredDataImage(const HObject& Image, const HObject& RegionInterpolate, HObject* ImageInterpolated, const HTuple& Method, const HTuple& GenParamNames, const HTuple& GenParamValues)

void HOperatorSetX.InterpolateScatteredDataImage(
[in] IHUntypedObjectX* Image, [in] IHUntypedObjectX* RegionInterpolate, [out] IHUntypedObjectX*ImageInterpolated, [in] VARIANT Method, [in] VARIANT GenParamNames, [in] VARIANT GenParamValues)

static void HOperatorSet.InterpolateScatteredDataImage(HObject image, HObject regionInterpolate, out HObject imageInterpolated, HTuple method, HTuple genParamNames, HTuple genParamValues)

Beschreibung

interpolate_scattered_data_imageinterpolate_scattered_data_imageInterpolateScatteredDataImageinterpolate_scattered_data_imageInterpolateScatteredDataImageInterpolateScatteredDataImage interpoliert das Bild ImageImageImageImageImageimage innerhalb der Region RegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateregionInterpolate und gibt das Ergebnis in ImageInterpolatedImageInterpolatedImageInterpolatedImageInterpolatedImageInterpolatedimageInterpolated zurück. Die Differenz zwischen der Domäne des Bildes ImageImageImageImageImageimage und der Region RegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateregionInterpolate definiert die gültigen Datenpunkte, die für die Interpolation verwendet werden, wohingegen die Region RegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateregionInterpolate die Punkte definiert, an denen die Grauwerte des Bildes ImageImageImageImageImageimage bestimmt werden sollen. Mit dem Parameter MethodMethodMethodMethodMethodmethod wird der Interpolations-Algorithmus festgelegt. Bisher werden nur die 'thin_plate_splines'"thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines" unterstützt. Diese Methode interpoliert die Datenpunkte auf globaler Ebene, was bedeutet, dass alle Punkte für die Interpolation verwendet werden, egal wie weit sie von einander weg liegen. Der Einfluss von entfernten Punkten korreliert mit wobei r die Entfernung zweier Punkte beschreibt. Wird das selbe Bild ImageImageImageImageImageimage and unterschiedlichen Regionen RegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateregionInterpolate interpoliert, kann der Operator create_scattered_data_interpolatorcreate_scattered_data_interpolatorCreateScatteredDataInterpolatorcreate_scattered_data_interpolatorCreateScatteredDataInterpolatorCreateScatteredDataInterpolator effizienter sein.

Die folgenden Parameter können mit GenParamNamesGenParamNamesGenParamNamesGenParamNamesGenParamNamesgenParamNames und GenParamValuesGenParamValuesGenParamValuesGenParamValuesGenParamValuesgenParamValues gesetzt werden:

'alpha'"alpha""alpha""alpha""alpha""alpha":

Der Parameter 'alpha'"alpha""alpha""alpha""alpha""alpha" ist ein Glättungsfaktor. Für 'alpha'"alpha""alpha""alpha""alpha""alpha" = 0 werden alle Punkte des Bildes ImageImageImageImageImageimage exakt interpoliert. Für sehr große Werte von 'alpha'"alpha""alpha""alpha""alpha""alpha" glättet die Interpolation die Bildpunkte so, dass alle interpolierten Punkte des Ausgabebildes ImageInterpolatedImageInterpolatedImageInterpolatedImageInterpolatedImageInterpolatedimageInterpolated auf einer gemeinsamen Ebene liegen. Defaultwert ist 0. Beschränkungen: 'alpha'"alpha""alpha""alpha""alpha""alpha" >= 0

interpolate_scattered_data_imageinterpolate_scattered_data_imageInterpolateScatteredDataImageinterpolate_scattered_data_imageInterpolateScatteredDataImageInterpolateScatteredDataImage arbeitet am besten mit wenigen Datenpunkten, z.B. weniger als 1000. Zum Rekonstruieren von verlorenen Bilddaten in der Region RegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateregionInterpolate, sollte die Anzahl der Datenpunkte entsprechend angepasst werden, z.B. indem nur die Randpixel der zu rekonstruierenden Regionen verwendet werden (siehe Beispielprogramm unten).

Parallelisierung

Parameter

ImageImageImageImageImageimage (input_object)  singlechannelimage objectHImageHImageHImageHImageXHobject (byte / uint2 / real)

Bild, das interpoliert werden soll.

RegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateRegionInterpolateregionInterpolate (input_object)  region objectHRegionHRegionHRegionHRegionXHobject

Region auf der interpoliert werden soll.

ImageInterpolatedImageInterpolatedImageInterpolatedImageInterpolatedImageInterpolatedimageInterpolated (output_object)  singlechannelimage objectHImageHImageHImageHImageXHobject * (real)

Interpoliertes Ausgabebild.

MethodMethodMethodMethodMethodmethod (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Methode für die Interpolation.

Defaultwert: 'thin_plate_splines' "thin_plate_splines" "thin_plate_splines" "thin_plate_splines" "thin_plate_splines" "thin_plate_splines"

Wertevorschläge: 'thin_plate_splines'"thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines""thin_plate_splines"

GenParamNamesGenParamNamesGenParamNamesGenParamNamesGenParamNamesgenParamNames (input_control)  attribute.name-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Namen der generischen Parameter, die angepasst werden können.

Defaultwert: []

Wertevorschläge: 'alpha'"alpha""alpha""alpha""alpha""alpha"

GenParamValuesGenParamValuesGenParamValuesGenParamValuesGenParamValuesgenParamValues (input_control)  attribute.value-array HTupleHTupleHTupleVARIANTHtuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double) (BSTR / Hlong / double) (char* / Hlong / double)

Werte der generischen Parameter, die angepasst werden können.

Defaultwert: []

Wertevorschläge: 0, 1.0, 10.0, 100.0

Beispiel (HDevelop)

* This example program shows how to use the scattered data interpolator
* to fill holes in an image
gen_image_surface_second_order (ImageData, 'real', 1, 1, 0, 0, 0, 1, \
                                24, 24, 48, 48)
gen_circle (Circle, 12, 12, 6)
difference (ImageData, Circle, Region)
reduce_domain (ImageData, Region, ImageReduced)
dev_clear_window ()
dev_display (ImageReduced)
stop()
*
* Select only border pixels for the interpolation
dilation_circle (Circle, CircleDilation, 1.5)
intersection (CircleDilation, Region, RegionBorderData)
dev_clear_window ()
dev_display (ImageReduced)
dev_display (RegionBorderData)
stop()
*
* Interpolate pixels
reduce_domain (ImageData, RegionBorderData, ImageReducedBorder)
interpolate_scattered_data_image (ImageReducedBorder, Circle, \
                                  ImageInterpolated, \
                                  'thin_plate_splines', [], [])
paint_gray (ImageInterpolated, ImageData, ImageFilled)
dev_clear_window ()
dev_display (ImageFilled)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert interpolate_scattered_data_imageinterpolate_scattered_data_imageInterpolateScatteredDataImageinterpolate_scattered_data_imageInterpolateScatteredDataImageInterpolateScatteredDataImage den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Alternativen

interpolate_scattered_data_points_to_imageinterpolate_scattered_data_points_to_imageInterpolateScatteredDataPointsToImageinterpolate_scattered_data_points_to_imageInterpolateScatteredDataPointsToImageInterpolateScatteredDataPointsToImage

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren