This is a package that compute DLT (Direct Linear Transformation) matrix, which can be used to transform points from one coordinate to another.
For details about DLT, please see https://www.cs.ubc.ca/grads/resources/thesis/May09/Dubrofsky_Elan.pdf.
npm install dltjs
import dlt from 'dltjs';
let p0 = [[0, 0], [0, 1], [1, 0], [1, 1]];
let p1 = [[1, 1], [1, 2], [0, 1], [2, 2]];
let M = dlt.dlt2d(p0, p1);
let p = [3, 3];
console.log(dlt.transform2d(M, p));
-
dlt.dlt2d(p0, p1)
Given two sets of pointsp0
,p1
, solve the transform matrix which can transform points inp0
to points inp1
. Bothp0
,p1
must contain at least 4 points (only the first 4 points will be used). Each point should be a tuple in format of[x, y]
. This function will return a 3x3 matrix which contains the transforms required. The last element (M[2][2]
) is guaranteed to be1
. -
dlt.transform2d(M, p)
Transform pointp
with matrixM
. Pointp
should be in format of[x, y]
. The inputM
is the return value fromdlt.dlt2d()
andM[2][2]
should be1
. The return value is the transformed point in format of[x, y]
.