public class HomographyInducedStereoLinePt
extends java.lang.Object
Computes the homography induced by a plane from correspondences of a line and a point. Works with both calibrated and uncalibrated cameras. The Fundamental/Essential matrix must be known. The found homography will be from view 1 to view 2. The passed in Fundamental matrix must have the following properties for each set of point correspondences: x2*F*x1 = 0, where x1 and x2 are views of the point in image 1 and image 2 respectively. For more information see [1].
NOTE: Any line which is parallel to camera baseline can't be used. The lines in both cameras will have the same slope, causing their intersection to be a plane instead of a line. This can be a significant issue since for many stereo rigs it would mean no perfectly horizontal lines can be used.
[1] R. Hartley, and A. Zisserman, "Multiple View Geometry in Computer Vision", 2nd Ed, Cambridge 2003
| Constructor and Description |
|---|
HomographyInducedStereoLinePt() |
| Modifier and Type | Method and Description |
|---|---|
org.ejml.data.DenseMatrix64F |
getHomography() |
void |
process(PairLineNorm line,
AssociatedPair point)
Computes the homography based on a line and point on the plane
|
void |
setFundamental(org.ejml.data.DenseMatrix64F F,
georegression.struct.point.Point3D_F64 e2)
Specify the fundamental matrix and the camera 2 epipole.
|
public void setFundamental(org.ejml.data.DenseMatrix64F F,
georegression.struct.point.Point3D_F64 e2)
F - Fundamental matrix.e2 - Epipole for camera 2. If null it will be computed internally.public void process(PairLineNorm line, AssociatedPair point)
line - Line on the planepoint - Point on the planepublic org.ejml.data.DenseMatrix64F getHomography()