Name
get_line_of_sightT_get_line_of_sightGetLineOfSightget_line_of_sightGetLineOfSightGetLineOfSight — Berechnen des zu einem Bildpunkt gehörenden Sichtstrahls.
Herror T_get_line_of_sight(const Htuple Row, const Htuple Column, const Htuple CameraParam, Htuple* PX, Htuple* PY, Htuple* PZ, Htuple* QX, Htuple* QY, Htuple* QZ)
Herror get_line_of_sight(const HTuple& Row, const HTuple& Column, const HTuple& CameraParam, HTuple* PX, HTuple* PY, HTuple* PZ, HTuple* QX, HTuple* QY, HTuple* QZ)
void GetLineOfSight(const HTuple& Row, const HTuple& Column, const HTuple& CameraParam, HTuple* PX, HTuple* PY, HTuple* PZ, HTuple* QX, HTuple* QY, HTuple* QZ)
static void HMisc::GetLineOfSight(const HTuple& Row, const HTuple& Column, const HTuple& CameraParam, HTuple* PX, HTuple* PY, HTuple* PZ, HTuple* QX, HTuple* QY, HTuple* QZ)
void HOperatorSetX.GetLineOfSight(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT CameraParam, [out] VARIANT* PX, [out] VARIANT* PY, [out] VARIANT* PZ, [out] VARIANT* QX, [out] VARIANT* QY, [out] VARIANT* QZ)
VARIANT HMiscX.GetLineOfSight(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT CameraParam, [out] VARIANT* PY, [out] VARIANT* PZ, [out] VARIANT* QX, [out] VARIANT* QY, [out] VARIANT* QZ)
static void HOperatorSet.GetLineOfSight(HTuple row, HTuple column, HTuple cameraParam, out HTuple PX, out HTuple PY, out HTuple PZ, out HTuple QX, out HTuple QY, out HTuple QZ)
static void HMisc.GetLineOfSight(HTuple row, HTuple column, HTuple cameraParam, out HTuple PX, out HTuple PY, out HTuple PZ, out HTuple QX, out HTuple QY, out HTuple QZ)
get_line_of_sightget_line_of_sightGetLineOfSightget_line_of_sightGetLineOfSightGetLineOfSight berechnet für ein Pixel (RowRowRowRowRowrow,
ColumnColumnColumnColumnColumncolumn) im Bild den zugehörigen Sichtstrahl. Der
Sichtstrahl ist eine Gerade im Kamerakoordinatensystem, die durch
zwei auf ihr liegende Punkte (PXPXPXPXPXPX,PYPYPYPYPYPY,PZPZPZPZPZPZ)
und (QXQXQXQXQXQX,QYQYQYQYQYQY,QZQZQZQZQZQZ) beschrieben wird. Die
Kamera wird durch die internen Kameraparameter CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam
beschrieben (siehe calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras). Falls eine Lochkamera
verwendet wird, liegt der zweite Punkt in der Brennpunktebene, d.h.
bei Flächenkameras entspricht der Ausgabeparameter QZQZQZQZQZQZ der
Brennweite der Kamera, wohingegen QZQZQZQZQZQZ bei Zeilenkameras
zusätzlich noch von der Relativbewegung zwischen Kamera und Objekt
abhängt. Die Geradengleichung des Sichtstrahls ist gegeben durch
Der Vorteil der Darstellung der Geraden durch zwei Punkte ist, dass
es hiermit einfacher wird, die Gerade im Raum zu transformieren. Es
muss lediglich der Operator affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d auf die
beiden Punkte angewandt werden.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Zeilenkoordinate des Pixels.
Spaltenkoordinate des Pixels.
Interne Kameraparameter.
Parameteranzahl: CameraParam == 8 || CameraParam == 10 || CameraParam == 11 || CameraParam == 12 || CameraParam == 14
PXPXPXPXPXPX (output_control) real-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
X-Koordinate des ersten Punktes auf dem Sichtstrahl im
Kamerakoordinatensystem.
PYPYPYPYPYPY (output_control) real-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Y-Koordinate des ersten Punktes auf dem Sichtstrahl im
Kamerakoordinatensystem.
PZPZPZPZPZPZ (output_control) real-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Z-Koordinate des ersten Punktes auf dem Sichtstrahl im
Kamerakoordinatensystem.
QXQXQXQXQXQX (output_control) real-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
X-Koordinate des zweiten Punktes auf dem Sichtstrahl im
Kamerakoordinatensystem.
QYQYQYQYQYQY (output_control) real-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Y-Koordinate des zweiten Punktes auf dem Sichtstrahl im
Kamerakoordinatensystem.
QZQZQZQZQZQZ (output_control) real-array → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Z-Koordinate des zweiten Punktes auf dem Sichtstrahl im
Kamerakoordinatensystem.
* get internal camera parameters
read_cam_par('campar.dat', CameraParam)
* inverse projection
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
* get internal camera parameters
read_cam_par('campar.dat', CameraParam)
* inverse projection
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
* get internal camera parameters
read_cam_par('campar.dat', CameraParam)
* inverse projection
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
HTuple CameraParam, Row, Column, PX, PY, PZ, QX, QY, QZ;
// get internal camera parameters
read_cam_par("campar.dat", &CameraParam);
// inverse projection
Row[1] = 100;
Row[0] = 50;
Column[1] = 200;
Column[0] = 100;
get_line_of_sight(Row, Column, CameraParam, &PX, &PY, &PZ, &QX, &QY, &QZ);
* get internal camera parameters
read_cam_par('campar.dat', CameraParam)
* inverse projection
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
* get internal camera parameters
read_cam_par('campar.dat', CameraParam)
* inverse projection
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
Sind die Parameterwerte korrekt, dann liefert
get_line_of_sightget_line_of_sightGetLineOfSightget_line_of_sightGetLineOfSightGetLineOfSight den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar,
camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d
camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration,
disp_caltabdisp_caltabDispCaltabdisp_caltabDispCaltabDispCaltab,
read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar,
project_3d_pointproject_3d_pointProject3dPointproject_3d_pointProject3dPointProject3dPoint,
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d
Calibration