Цель ::
Я намерен использовать загруженное изображение в качестве статического фона и визуализировать 3D-объекты на указанной плоскости в этом изображении.
Мне нужно получить ориентацию камеры по отношению к плоскости. Таким образом, я могу правильно визуализировать 3D-модели на указанной плоскости.
Пользователь укажет длину и ширину плоскости. А также обведите плоскость, получив 4 угла плоскости (A,B,C,D на 2D-изображении).
Что я пробовал::
Я рассматривал использование OpenCV, портированного на webassembly, в частности solvePnP
, но при тестировании я получал ошибку Uncaught TypeError: Cannot read property '$$' of undefined at RegisteredPointer.nonConstNoSmartPtrRawPointerToWireType
Код, который я использовал ниже:
// 3D world coords
var vv = cv.matFromArray( 4,3,cv.CV_32SC1,[
0,0,0,
0,4,0,
8,4,0,
8,0,0,
])
// 2D img coords
var imageP = cv.matFromArray( 4,2,cv.CV_8S,[
292,272,
72,379,
487,530,
701,470,
])
// camera internal params
var cm = new cv.Mat(3,3,cv.CV_32FC1,new cv.Scalar())
var rvec
var tvec
cv.solvePnP( vv, imageP, cm, new cv.Mat(), rvec, tvec, false, cv.SOLVEPNP_P3P )
Можно ли с известными переменными получить какую-либо информацию об ориентации/положении/поле обзора камеры?