pycvcam.core.Extrinsic#
Note
See the main pycvcam.core.Transform documentation for more details on how to use transformations.
See also
The implemented extrinsic models are:
pycvcam.NoExtrinsic(does not apply any extrinsic transformation)pycvcam.Cv2Extrinsic(rotation vector and translation vector representation)pycvcam.OrthographicExtrinsic(orthographic projection model)
Extrinsic Class#
- class Extrinsic(parameters=None, constants=None)[source]#
Note
This class represents the extrinsic transformation, which is the first step of the process from the
world_pointsto theimage_points. This is the abstract class that defines the interface for extrinsic transformations.This base class, set the
input_dimandoutput_dimto 3 and 2 respectively and add the aliases :normalized_pointsandx_nfor the result of the transformation.world_pointsandx_wfor the result of the inverse transformation.
To process the transformation, the method
projectandunprojectare provided, which are aliases for thetransformandinverse_transformmethods respectively.The extrinsic transformation also implement the method
compute_raysto compute the rays emitted by the camera from the world points, which is useful for ray tracing or other applications. The subclass must implement the_compute_raysmethod to define how to compute the rays from the normalized points.- Parameters:
parameters (Optional[ArrayLike])
constants (Optional[ArrayLike])
Adding Public Methods of Extrinsic subclasses#
|
Alias for the |
|
Alias for the |
|
Compute the rays emitted from the camera to the scene. |
Developing Extrinsic Subclasses#
To create a new extrinsic transformation model, subclass the pycvcam.core.Extrinsic class and implement the following methods (in addition to the methods required by the pycvcam.core.Transform class):
|
Computes the rays in the world coordinate system for the given normalized points. |