CentralCamera.plot_epiline#

CentralCamera.plot_epiline(F: ndarray, p: ndarray, *fmt, **kwargs) None[source]#

Plot epipolar line

Parameters:
  • F (ndarray(3,3)) – fundamental matrix

  • p (array_like(2) or ndarray(2,N)) – image plane point or points

  • fmt – line style argument passed to plot

  • kwargs – additional line style arguments passed to plot

Plot the epipolar line induced by the image plane points p in the camera’s virtual image plane. Each line is given by

\[\ell = \mat{F} {}^1 \hvec{p}\]

which is in homogeneous form \(\ell_0 u + \ell_1 v + \ell_2 = 0\) and the conjugate point \({}^2 \vec{p}\) lies on this line.

Example:

>>> from machinevisiontoolbox import CentralCamera
>>> from spatialmath import SE3
>>> camera1 = CentralCamera.Default(name='camera1')
>>> camera2 = CentralCamera.Default(pose=SE3(0.1, 0.05, 0), name='camera2')
>>> P = [-0.2, 0.3, 5]  # world point
>>> p1 = camera1.project_point(P)  # project to first camera
>>> camera2.plot_point(P, 'kd') # project and display in second camera
array([[452.],
       [540.]])
>>> camera2.plot_epiline(camera1.F(camera2), p1) # plot epipolar line in second camera
References:
Seealso:

plot_point epiline CentralCamera.F