zoom_image_factor
— Skalieren von Bildern um einen Vergrößerungsfaktor.
zoom_image_factor(Image : ImageZoomed : ScaleWidth, ScaleHeight, Interpolation : )
zoom_image_factor
vergrößert das Bild Image
um
einen Faktor ScaleWidth
in der Breite und einen Faktor
ScaleHeight
in der Höhe. Der Parameter
Interpolation
gibt dabei die Art der verwendeten
Interpolationsmethode an (siehe affine_trans_image
). Die
Domäne des Eingabebildes wird ignoriert, d.h. es wird die volle
Domäne des Bildrechtecks angenommen.
Falls der Systemparameter 'int_zooming' auf 'true'
gesetzt ist, kann die intern verwendete Integer-Arithmetik in den
folgenden beiden Fällen zu Fehlern führen: Zum einen kann das
Ergebnisbild leicht fehlerhafte Grauwerte enthalten, wenn
zoom_image_factor
auf ein uint2 oder int2 Bild mit hohem
Dynamikbereich (das heißt, Bilder mit Werten nahe an den Grenzen der
entsprechenden Typen) angewendet wird und gleichzeitig
Skalierungsfaktoren kleiner als 0.5 verwendet werden.
Zum zweiten können undefinierte Grauwerte am unteren und am rechten Bildrand
entstehen, wenn für Interpolation
ein anderer Wert als
'nearest_neighbor' gewählt wird, ein großer
Skalierungsfaktor angewendet wird und außerdem ein großes
Ergebnisbild entsteht. Die maximale Breite
dieses Randes mit undefinierten Grauwerten kann mit der Formel
abgeschätzt werden, wobei S den Skalierungsfaktor in
einer Dimension und I die Größe des Ausgabebildes in der
entsprechenden Dimension darstellt. In beiden Fällen wird empfohlen,
den Systemparameter 'int_zooming' mittels
set_system
auf 'false' zu setzen.
zoom_image_factor
wird für ScaleWidth
= 0.5 und
ScaleHeight
= 0.5 nicht intern parallelisiert. Außerdem
erfolgt keine interne Parallelisierung für
Interpolation
='nearest_neighbor' .
zoom_image_factor
kann auf OpenCL Geräten ausgeführt werden,
wenn das Eingangsbild die maximale Größe für Bildobjekte des
ausgewählten Gerätes nicht überschreitet. Aus numerischen Gründen
kann es dabei zu geringfügigen Abweichungen des Ergebnisses
gegenüber der Ausführung auf der CPU kommen.
Image
(input_object) (multichannel-)image(-array) →
object (byte* / int2* / uint2* / real*) *erlaubt für Compute Devices
Eingabebild.
ImageZoomed
(output_object) (multichannel-)image(-array) →
object (byte / int2 / uint2 / real)
Skaliertes Ausgabebild.
ScaleWidth
(input_control) extent.x →
(real)
Faktor für Breite des Zielbildes.
Defaultwert: 0.5
Wertevorschläge: 0.25, 0.5, 1.5, 2.0
Typischer Wertebereich: 0.001
≤
ScaleWidth
≤
10.0
Minimale Schrittweite: 0.001
Empfohlene Schrittweite: 0.1
ScaleHeight
(input_control) extent.y →
(real)
Faktor für Höhe des Zielbildes.
Defaultwert: 0.5
Wertevorschläge: 0.25, 0.5, 1.5, 2.0
Typischer Wertebereich: 0.001
≤
ScaleHeight
≤
10.0
Minimale Schrittweite: 0.001
Empfohlene Schrittweite: 0.1
Interpolation
(input_control) string →
(string)
Art der Interpolation.
Defaultwert: 'constant'
Werteliste: 'bicubic' , 'bilinear' , 'constant' , 'nearest_neighbor' , 'weighted'
read_image(Image,'monkey') dev_display (Image) zoom_image_factor (Image, ZoomImage, 0.25, 0.25, 'constant') dev_display (ZoomImage)
zoom_image_size
,
affine_trans_image
,
hom_mat2d_scale
hom_mat2d_scale
,
affine_trans_image
Foundation