bundles / skimage 0.26.1rc0.dev0+git20260530.b607368ff / skimage / transform / _geometric / EssentialMatrixTransform
ABCMeta
skimage.transform._geometric:EssentialMatrixTransform
source: /dev/scikit-image/src/skimage/transform/_geometric.py :724
Signature
def EssentialMatrixTransform ( * , rotation = None , translation = None , matrix = None , dimensionality = None ) Members
Summary
Essential matrix transformation.
Extended Summary
The essential matrix relates corresponding points between a pair of calibrated images. The matrix transforms normalized, homogeneous image points in one image to epipolar lines in the other image.
The essential matrix is only defined for a pair of moving images capturing a non-planar scene. In the case of pure rotation or planar scenes, the homography describes the geometric relation between two images (ProjectiveTransform). If the intrinsic calibration of the images is unknown, the fundamental matrix describes the projective relation between the two images (FundamentalMatrixTransform).
Parameters
rotation: (3, 3) array_like, optionalRotation matrix of the relative camera motion.
translation: (3, 1) array_like, optionalTranslation vector of the relative camera motion. The vector must have unit length.
matrix: (3, 3) array_like, optionalEssential matrix.
dimensionality: int, optionalFallback number of dimensions when
matrixnot specified, in which case, must equal 2 (the default).
Attributes
params: (3, 3) arrayEssential matrix.
Examples
import numpy as np import skimage as ski tform = ski.transform.EssentialMatrixTransform( rotation=np.eye(3), translation=np.array([0, 0, 1]) ) tform.params src = np.array([[ 1.839035, 1.924743], [ 0.543582, 0.375221], [ 0.47324 , 0.142522], [ 0.96491 , 0.598376], [ 0.102388, 0.140092], [15.994343, 9.622164], [ 0.285901, 0.430055], [ 0.09115 , 0.254594]]) dst = np.array([[1.002114, 1.129644], [1.521742, 1.846002], [1.084332, 0.275134], [0.293328, 0.588992], [0.839509, 0.08729 ], [1.779735, 1.116857], [0.878616, 0.602447], [0.642616, 1.028681]]) tform = ski.transform.EssentialMatrixTransform.from_estimate(src, dst) tform.residuals(src, dst)✓
if tform: print("Estimation succeeded.") bad_src = np.ones((8, 2)) bad_tform = ski.transform.EssentialMatrixTransform.from_estimate( bad_src, dst) if not bad_tform: print("Estimation failed.")✓
bad_tform.params # doctest: +IGNORE_EXCEPTION_DETAIL
✓Aliases
-
skimage.transform.EssentialMatrixTransform