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