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
plotkwargs – additional line style arguments passed to
plot
Plot the epipolar line induced by the image plane points
pin 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:
P. Corke, Robotics, Vision & Control for Python, Springer, 2023, Section 14.2.1.
- Seealso: