View source on GitHub |
Projects a 3d point onto the 2d camera plane.
tfg.rendering.camera.perspective.project(
point_3d: type_alias.TensorLike,
focal: type_alias.TensorLike,
principal_point: type_alias.TensorLike,
name: str = 'perspective_project'
) -> tf.Tensor
Projects a 3d point \((x, y, z)\) to a 2d point \((x', y')\) onto the image plane with
\[ \begin{matrix} x' = \frac{f_x}{z}x + c_x, & y' = \frac{f_y}{z}y + c_y, \end{matrix} \]
where \((f_x, f_y)\) is the focal length and \((c_x, c_y)\) the principal point.
Note | |
---|---|
In the following, A1 to An are optional batch dimensions that must be broadcast compatible. |
Returns | |
---|---|
A tensor of shape [A1, ..., An, 2] , where the last dimension represents
a 2d point.
|
Raises | |
---|---|
ValueError
|
If the shape of point_3d , focal , or principal_point is not
supported.
|