Цель ::
Я хочу, чтобы загруженное изображение было статическим фоном, и визуализировал трехмерные объекты на указанной плоскости на этом изображении.
Мне нужно получить ориентацию камеры относительно плоскости.Тогда я могу правильно визуализировать 3D-модели на указанной плоскости.
Пользователь будет указывать длину и ширину плоскости.А также наметить плоскость, в результате чего 4 угла плоскости (A, B, C, D на 2D-изображении).
То, что я пробовал: *
Я смотрел на использование веб-сборки, портированной OpenCV, особенно 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 )
С известными переменными, возможно ли собрать любую информацию об ориентации / положении камеры / поле зрения?