project_3d_point ( : : X, Y, Z, CamParam : Row, Column )

Project 3D points into (sub-)pixel image coordinates.

project_3d_point projects one or more 3D points (with coordinates X, Y, and Z) into the image plane (in pixels) and returns the result in Row and Column. The coordinates X, Y, and Z are given in the camera coordinate system, i.e., they describe the position of the points relative to the camera.

The interior camera parameters CamParam describe the projection characteristics of the camera (see write_cam_par).


Parameters

X (input_control)
real-array -> real
X coordinates of the 3D points to be projected in the camera coordinate system.

Y (input_control)
real-array -> real
Y coordinates of the 3D points to be projected in the camera coordinate system.

Z (input_control)
real-array -> real
Z coordinates of the 3D points to be projected in the camera coordinate system.

CamParam (input_control)
number-array -> real / integer
Interior camera parameters.
Number of elements: (CamParam == 8) || (CamParam == 11)

Row (output_control)
real-array -> real
Row coordinates of the projected points (in pixels).
Default value: 'ProjectedRow'

Column (output_control)
real-array -> real
Column coordinates of the projected points (in pixels).
Default value: 'ProjectedCol'


Example
*  read pose of the world coordinate system in camera coordinates
read_pose(worldpose.dat', WorldPose)
*  convert pose into transformation matrix
pose_to_hom_mat3d(WorldPose, HomMat3D)
*  transform 3D points from world into the camera coordinate system
affine_trans_point_3d([3.0, 3.2], [4.5, 4.5], [5.8, 6.2], HomMat3D, X, Y, Z)
*  read interior camera parameters
read_cam_par('campar.dat', CamParam)
* project 3D points into image
project_3d_point(X, Y, Z, CamParam, Row, Column)

Result

project_3d_point returns 2 (H_MSG_TRUE) if all parameter values are correct. If necessary, an exception handling is raised.


Parallelization Information

project_3d_point is reentrant and processed without parallelization.


Possible Predecessors

read_cam_par, affine_trans_point_3d


Possible Successors

gen_region_points, gen_region_polygon, disp_polygon


See also

camera_calibration, disp_caltab, read_cam_par, get_line_of_sight, affine_trans_point_3d


Module

Calibration



Copyright © 1996-2008 MVTec Software GmbH