change_radial_distortion_image
— Verändern der radialen Verzeichnung eines Bildes.
change_radial_distortion_image(Image, Region : ImageRectified : CamParamIn, CamParamOut : )
change_radial_distortion_image
verändert die radiale Verzeichnung
des Eingabebildes
Image
gemäß den übergebenen internen Kameraparametern
CamParamIn
bzw. CamParamOut
. Dazu wird jedes Pixel
im Ausgabebild, das innerhalb
der Region Region
liegt, mittels CamParamOut
in die
Bildebene zurückgerechnet und dann mittels CamParamIn
in ein
Subpixel im Eingabebild überführt.
Der resultierende Grauwert wird aus dem Eingabebild durch bilineare
Interpolation abgeleitet. Liegt das Subpixel außerhalb des
Eingabebildes, wird das Pixel im Ausgabebild auf 'schwarz' gesetzt und
aus der Ausgaberegion entfernt.
Sollen die Grauwerte für alle Pixel im Ausgabebild berechnet werden,
so genügt es, in Region
ein leeres Objekt zu übergeben (das
vorher z.B. mit gen_empty_obj
erzeugt worden ist). Dies
ist besonders dann hilfreich, wenn sich die Größe des Ausgabebildes
von der des Eingabebildes unterscheidet und somit nicht einfach
die Region des Eingabebildes in Region
übergeben werden kann.
Wird zur Bestimmung der modifizierten Kameraparameter CamParamOut
die Routine change_radial_distortion_cam_par
verwendet, entspricht das Ausgabebild ImageRectified
dem
Eingabebild bei einer Aufnahmeoptik mit geänderter
radialer Verzeichnung . Für wird das Bild radial entzerrt.
Eine etwaige Lagebestimmung für die Kamera
(externe Kameraparameter) wird dadurch nicht beeinflusst.
Beachten Sie, dass change_radial_distortion_image
nicht mit
Zeilenkameras mit perspektivischen Objektiven
funktioniert. Alternativ kann image_to_world_plane
verwendet
werden.
change_radial_distortion_image
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. Da die OpenCL Implementierung mit
einfacher Genauigkeit rechnet, kann das Ergebnis von dem der CPU
Implementierung abweichen.
Image
(input_object) (multichannel-)image(-array) →
object (byte / uint2 / real)
Originalbild.
Region
(input_object) region →
object
Interessierender Bildbereich in
ImageRectified
.
ImageRectified
(output_object) (multichannel-)image(-array) →
object (byte / uint2 / real)
Ausgabebild mit veränderter radialer Verzeichnung.
CamParamIn
(input_control) campar →
(real / integer / string)
Interne Kameraparameter für Image
.
CamParamOut
(input_control) campar →
(real / integer / string)
Interne Kameraparameter für ImageRectified
.
Sind die Parameterwerte korrekt, dann liefert
change_radial_distortion_image
den Wert 2 (H_MSG_TRUE).
Das Verhalten bei leerer Eingabe (kein Eingabebild vorhanden
lässt sich mittels set_system('no_object_result',<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
change_radial_distortion_cam_par
,
read_image
,
grab_image
change_radial_distortion_cam_par
,
camera_calibration
,
read_cam_par
,
change_radial_distortion_contours_xld
,
change_radial_distortion_points
Calibration