change_radial_distortion_cam_parT_change_radial_distortion_cam_parChangeRadialDistortionCamParChangeRadialDistortionCamParchange_radial_distortion_cam_par (Operator)

Name

change_radial_distortion_cam_parT_change_radial_distortion_cam_parChangeRadialDistortionCamParChangeRadialDistortionCamParchange_radial_distortion_cam_par — Bestimmen neuer Kameraparameter gemäß eines vorgegebenen radialen Verzeichnungskoeffizienten.

Signatur

change_radial_distortion_cam_par( : : Mode, CamParamIn, DistortionCoeffs : CamParamOut)

Herror T_change_radial_distortion_cam_par(const Htuple Mode, const Htuple CamParamIn, const Htuple DistortionCoeffs, Htuple* CamParamOut)

void ChangeRadialDistortionCamPar(const HTuple& Mode, const HTuple& CamParamIn, const HTuple& DistortionCoeffs, HTuple* CamParamOut)

HCamPar HCamPar::ChangeRadialDistortionCamPar(const HString& Mode, const HTuple& DistortionCoeffs) const

HCamPar HCamPar::ChangeRadialDistortionCamPar(const HString& Mode, double DistortionCoeffs) const

HCamPar HCamPar::ChangeRadialDistortionCamPar(const char* Mode, double DistortionCoeffs) const

HCamPar HCamPar::ChangeRadialDistortionCamPar(const wchar_t* Mode, double DistortionCoeffs) const   (Nur Windows)

static void HOperatorSet.ChangeRadialDistortionCamPar(HTuple mode, HTuple camParamIn, HTuple distortionCoeffs, out HTuple camParamOut)

HCamPar HCamPar.ChangeRadialDistortionCamPar(string mode, HTuple distortionCoeffs)

HCamPar HCamPar.ChangeRadialDistortionCamPar(string mode, double distortionCoeffs)

def change_radial_distortion_cam_par(mode: str, cam_param_in: Sequence[Union[int, float, str]], distortion_coeffs: MaybeSequence[Union[float, int]]) -> Sequence[Union[int, float, str]]

Beschreibung

change_radial_distortion_cam_parchange_radial_distortion_cam_parChangeRadialDistortionCamParChangeRadialDistortionCamParChangeRadialDistortionCamParchange_radial_distortion_cam_par modifiziert die internen Kameraparameter CamParamInCamParamInCamParamInCamParamIncamParamIncam_param_in gemäß den vorgegebenen radialen Verzeichnungskoeffizienten DistortionCoeffsDistortionCoeffsDistortionCoeffsDistortionCoeffsdistortionCoeffsdistortion_coeffs und gibt sie in CamParamOutCamParamOutCamParamOutCamParamOutcamParamOutcam_param_out zurück. Der Operator kann nur für Flächenkameras (mit beliebigen Objektivtypen) und für Zeilenkameras mit telezentrischen Objektiven verwendet werden. Zeilenkameras mit perspektivischen Objektiven werden nicht unterstützt.

Über den Parameter ModeModeModeModemodemode werden dabei folgende Modi unterschieden:

'fixed'"fixed""fixed""fixed""fixed""fixed":

Die Kameraparameter bleiben bis auf die radialen Verzeichnungskoeffizienten unverändert. Dies bewirkt i.A. eine Änderung des Bildausschnittes.

'fullsize'"fullsize""fullsize""fullsize""fullsize""fullsize":

Für Flächenkameras werden die Skalierungsfaktoren und und der Hauptpunkt so angepasst, dass der Bildausschnitt unverändert bleibt. Für Zeilenkameras mit telezentrischen Objektiven werden der Skalierungsfaktor , der Hauptpunkt und die -Komponente des Bewegungsvektors angepasst, um diesen Effekt zu erzielen. Konkret wird dabei sichergestellt, dass alle Bildpunkte des Originalkamerabildes auch im modifizierten (entzerrten) Kamerabild abgebildet werden. Im Allgemeinen entstehen dabei undefinierte Pixel im modifizierten Bild.

'adaptive'"adaptive""adaptive""adaptive""adaptive""adaptive":

Ein Kompromiss zwischen den beiden anderen Modi: Der Bildausschnitt wird etwas verkleinert, um undefinierte Bildbereiche zu vermeiden. Hier werden dieselben Parameter wie bei 'fullsize'"fullsize""fullsize""fullsize""fullsize""fullsize" modifiziert.

'preserve_resolution'"preserve_resolution""preserve_resolution""preserve_resolution""preserve_resolution""preserve_resolution":

Wie beim Modus 'fullsize'"fullsize""fullsize""fullsize""fullsize""fullsize" wird sichergestellt, dass alle Bildpunkte des Originalkamerabildes auch im modifizierten (entzerrten) Kamerabild abgebildet werden. Für Flächenkameras werden die Skalierungsfaktoren und und der Hauptpunkt so angepasst, dass der Bildausschnitt unverändert bleibt. Für Zeilenkameras mit telezentrischen Objektiven werden der Skalierungsfaktor , der Hauptpunkt und ggf. die -Komponente des Bewegungsvektors angepasst, um diesen Effekt zu erzielen. Im Allgemeinen entstehen dabei undefinierte Pixel im modifizierten Bild. Im Unterschied zum Modus 'fullsize'"fullsize""fullsize""fullsize""fullsize""fullsize" wird jedoch zusätzlich die Bildgröße so erhöht, dass sich die Bildauflösung in keinem Teil des Bildes verringert.

In allen Fällen sind die Verzeichnungskoeffizienten in den Ausgabekameraparametern CamParamOutCamParamOutCamParamOutCamParamOutcamParamOutcam_param_out gleich DistortionCoeffsDistortionCoeffsDistortionCoeffsDistortionCoeffsdistortionCoeffsdistortion_coeffs. Für telezentrische Zeilenkameras beeinflusst der Bewegungsvektor auch die wahrgenommene Verzeichnung. So erzeugt ein zum Beispiel Pixel mit schräggestellten Achsen. Weiterhin hat zur Folge, dass die Pixel nicht quadratisch erscheinen. Daher können für telezentrische Zeilenkameras bis zu drei weitere Komponenten zusätzlich zu bzw. in DistortionCoeffsDistortionCoeffsDistortionCoeffsDistortionCoeffsdistortionCoeffsdistortion_coeffs übergeben werden. Diese spezifizieren die neuen -, - und -Komponenten des Bewegungsvektors.

Die Rückrechnung der Pixel im modifizierten Bild in die Bildebene gemäß der neuen internen Kameraparameter ergibt die gleichen Punkte wie die Rückrechnung der korrespondierenden Subpixel im Originalbild gemäß der alten internen Kameraparameter CamParamInCamParamInCamParamInCamParamIncamParamIncam_param_in.

Ausführungsinformationen

Parameter

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Modus

Defaultwert: 'adaptive' "adaptive" "adaptive" "adaptive" "adaptive" "adaptive"

Wertevorschläge: 'fullsize'"fullsize""fullsize""fullsize""fullsize""fullsize", 'adaptive'"adaptive""adaptive""adaptive""adaptive""adaptive", 'fixed'"fixed""fixed""fixed""fixed""fixed", 'preserve_resolution'"preserve_resolution""preserve_resolution""preserve_resolution""preserve_resolution""preserve_resolution"

CamParamInCamParamInCamParamInCamParamIncamParamIncam_param_in (input_control)  campar HCamPar, HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Interne Kameraparameter (Original).

DistortionCoeffsDistortionCoeffsDistortionCoeffsDistortionCoeffsdistortionCoeffsdistortion_coeffs (input_control)  real(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Gewünschte radiale Verzeichnungskoeffizienten.

Parameteranzahl: DistortionCoeffs == 1 || DistortionCoeffs == 5

Defaultwert: 0.0

CamParamOutCamParamOutCamParamOutCamParamOutcamParamOutcam_param_out (output_control)  campar HCamPar, HTupleSequence[Union[int, float, str]]HTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Interne Kameraparameter (modifiziert).

Ergebnis

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

Vorgänger

camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibrationcamera_calibration, read_cam_parread_cam_parReadCamParReadCamParReadCamParread_cam_par

Nachfolger

change_radial_distortion_imagechange_radial_distortion_imageChangeRadialDistortionImageChangeRadialDistortionImageChangeRadialDistortionImagechange_radial_distortion_image, change_radial_distortion_contours_xldchange_radial_distortion_contours_xldChangeRadialDistortionContoursXldChangeRadialDistortionContoursXldChangeRadialDistortionContoursXldchange_radial_distortion_contours_xld, gen_radial_distortion_mapgen_radial_distortion_mapGenRadialDistortionMapGenRadialDistortionMapGenRadialDistortionMapgen_radial_distortion_map

Siehe auch

camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibrationcamera_calibration, read_cam_parread_cam_parReadCamParReadCamParReadCamParread_cam_par, change_radial_distortion_imagechange_radial_distortion_imageChangeRadialDistortionImageChangeRadialDistortionImageChangeRadialDistortionImagechange_radial_distortion_image, change_radial_distortion_contours_xldchange_radial_distortion_contours_xldChangeRadialDistortionContoursXldChangeRadialDistortionContoursXldChangeRadialDistortionContoursXldchange_radial_distortion_contours_xld, change_radial_distortion_pointschange_radial_distortion_pointsChangeRadialDistortionPointsChangeRadialDistortionPointsChangeRadialDistortionPointschange_radial_distortion_points

Modul

Calibration