Tango 앱을 개발할 때 다음과 같은 문제에 직면하고 있으며 올바른 방향에 있는지 여부를 모르겠습니다.이전 Tango 세션의 데이터로 평면 맞추기
것은 내가 달성하기 위해 노력하고있어 :
- 사용자가 사진을 촬영합니다. 백그라운드에서 앱은 현재의 포인트 클라우드를 지속적으로 저장하고 포즈를 저장합니다.
- 서버가 이미지를 가져 와서 장면 뒤에서 마술 처리를하고 (x, y) 좌표를 다시 앱으로 보냅니다 (비동기 및 현재 탱고 세션과 관련 없음).
- 앱을 다시 시작하고 새로운 탱고 세션을 시작하고 포인트 클라우드 및 포즈의 지속 복사본을 사용하여 (x, y)에 3 차원 개체를 표시합니다. RajawaliRenderer 렌더링하는 방법을 알고있는 Rajawali 객체 인 포즈를, (X, Y), 점 구름과 다음의 알고리즘에 포즈 얻을 -
는 나는 이러한 매개 변수를 사용할 수 있습니다 기대합니다.
탱고 초기화는 좌표 다음 프레임에 accoring에있다 :
TANGO_WORLD_BASE_COORDINATE_FRAME = new TangoCoordinateFramePair(
TangoPoseData.COORDINATE_FRAME_AREA_DESCRIPTION,
TangoPoseData.COORDINATE_FRAME_DEVICE
);
계획 맞추기 교차점을 사용하여 -
private void convertByIntersectionPoint(float x, float y, TangoPointCloudData tangoPointCloudData, TangoPoseData devicePose, TangoPoseData colorTdepthPose) { if (tangoPointCloudData != null) { TangoSupport.IntersectionPointPlaneModelPair intersectionPointPlaneModelPair = TangoSupport.fitPlaneModelNearPoint(tangoPointCloudData, colorTdepthPose, x, y); if (devicePose.statusCode == TangoPoseData.POSE_VALID) { mRenderer.updateObjectPose( intersectionPointPlaneModelPair.intersectionPoint, intersectionPointPlaneModelPair.planeModel, devicePose); } } }
그것은 TangoSupport.fitPlaneModelNearPoint에 TangoErrorException가 발생합니다.
필자는 fitPlaneModelNearPoint 메서드가 현재 Tango 세션에 의존하지 않는 순수 알고리즘을 수행해야한다고 설명하지만 구현이 없기 때문에 확신 할 수 없습니다.
도움을 주시면 감사하겠습니다.