在JavaScript中转换透视图–;矩阵数学

在JavaScript中转换透视图–;矩阵数学,javascript,c++,opencv,matrix,transform,Javascript,C++,Opencv,Matrix,Transform,我想在JavaScript中从OpenCV重新创建perspectiveTransform函数。我需要这样做的原因是因为。我找到了这个函数的实际C++实现和getPerspectiveTransform,它的工作方式似乎完全不同。它们似乎都包含了一堆我不太理解的指针,在JavaScript中没有对等的指针,所以我不知道如何编写类似的东西 我想这只是一种矩阵数学,当然有一种简单的数学方法。如果有人知道像这样的矩阵/转换,我将非常感激一些建议/伪代码 示例数据我是在C++ 输入1(3x3)矩阵 [0

我想在
JavaScript
中从OpenCV重新创建
perspectiveTransform
函数。我需要这样做的原因是因为。我找到了这个函数的实际
C++
实现和
getPerspectiveTransform
,它的工作方式似乎完全不同。它们似乎都包含了一堆我不太理解的指针,在
JavaScript
中没有对等的指针,所以我不知道如何编写类似的东西

我想这只是一种矩阵数学,当然有一种简单的数学方法。如果有人知道像这样的矩阵/转换,我将非常感激一些建议/伪代码

示例数据我是在
C++

输入1(3x3)矩阵

[0.4709243769447963,-0.1089570231317744289.4386175367417

-0.059153780979304、0.3816064687798928、503.5397702666958

-9.054861751225341e-05,-0.0001637295648326533,1]

输入2(2x4)矩阵

[0,0][1000,0][1000740][0740]

期望输出

[289.439503.54][836.068488.631][862.289921.962][237.598, 894.279]

功能的详细信息

我在JavaScript中调用它的地方

var H = new cv.Mat();
H = cv.findHomographyEasy(obj, scene, cv.FM_RANSAC);

var obj_corners = new cv.Point2fVector();
obj_corners[0] = new cv.Point(0,0);
obj_corners[1] = new cv.Point(img1Raw.cols,0);
obj_corners[2] = new cv.Point(img1Raw.cols, img1Raw.rows);
obj_corners[3] = new cv.Point(0, img1Raw.rows);

var scene_corners = new cv.Point2fVector();
scene_corners[0] = new cv.Point(0,0);
scene_corners[1] = new cv.Point(0,0);
scene_corners[2] = new cv.Point(0,0);
scene_corners[3] = new cv.Point(0,0);

// NEED TO REMAKE THIS FUNCTION WHICH DOESN'T WORK IN OPENCV.js
cv.perspectiveTransformEasy(obj_corners, scene_corners, H);