| Operatoren |
interpolate_scattered_data_image — Interpolation eines Bildes.
interpolate_scattered_data_image(Image, RegionInterpolate : ImageInterpolated : Method, GenParamName, GenParamValue : )
interpolate_scattered_data_image interpoliert das Bild Image innerhalb der Region RegionInterpolate und gibt das Ergebnis in ImageInterpolated zurück. Die Differenz zwischen der Domäne des Bildes Image und der Region RegionInterpolate definiert die gültigen Datenpunkte, die für die Interpolation verwendet werden, wohingegen die Region RegionInterpolate die Punkte definiert, an denen die Grauwerte des Bildes Image bestimmt werden sollen. Mit dem Parameter Method wird der Interpolations-Algorithmus festgelegt. Bisher werden nur die '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 Image and unterschiedlichen Regionen RegionInterpolate interpoliert, kann der Operator create_scattered_data_interpolator effizienter sein.
Die folgenden Parameter können mit GenParamName und GenParamValue gesetzt werden:
Der Parameter 'alpha' ist ein Glättungsfaktor. Für 'alpha' = 0 werden alle Punkte des Bildes Image exakt interpoliert. Für sehr große Werte von 'alpha' glättet die Interpolation die Bildpunkte so, dass alle interpolierten Punkte des Ausgabebildes ImageInterpolated auf einer gemeinsamen Ebene liegen. Defaultwert ist 0. Beschränkungen: 'alpha' >= 0
interpolate_scattered_data_image arbeitet am besten mit wenigen Datenpunkten, z.B. weniger als 1000. Zum Rekonstruieren von verlorenen Bilddaten in der Region RegionInterpolate, sollte die Anzahl der Datenpunkte entsprechend angepasst werden, z.B. indem nur die Randpixel der zu rekonstruierenden Regionen verwendet werden (siehe Beispielprogramm unten).
Bild, das interpoliert werden soll.
Region auf der interpoliert werden soll.
Interpoliertes Ausgabebild.
Methode für die Interpolation.
Defaultwert: 'thin_plate_splines'
Wertevorschläge: 'thin_plate_splines'
Namen der generischen Parameter, die angepasst werden können.
Defaultwert: []
Wertevorschläge: 'alpha'
Werte der generischen Parameter, die angepasst werden können.
Defaultwert: []
Wertevorschläge: 0, 1.0, 10.0, 100.0
* 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)
Sind die Parameterwerte korrekt, dann liefert interpolate_scattered_data_image den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
interpolate_scattered_data_points_to_image
Foundation
| Operatoren |