问题
I am trying to detect a vertical plane like wall to add image view on a vertical plane. But did not find the vertical plane. As per the default config for a session that can find both planes as a horizontal and vertical plane. But unable to find a vertical plan.
How to find a vertical plane in android application?
Please help me.
回答1:
Firstly, you need an appropriate vertical surface for tracking. Wall with a solid color (with no distinguishing features on it) is very bad instance. The most robust approach for tracking of a vertical surface is a well lit brick wall, or a wall with pictures on it, etc.
Secondly, the easiest way of creating an Anchor
in the center of your detected plane is to use the following code (make sure you call it once, so it couldn't create a new Anchor
on every update):
Anchor newAnchor;
for (Plane plane : mSession.getAllTrackables(Plane.class)) {
if (plane.getType() == Plane.Type.VERTICAL &&
plane.getTrackingState() == TrackingState.TRACKING) {
newAnchor = plane.createAnchor(plane.getCenterPose());
break;
}
}
来源:https://stackoverflow.com/questions/53256147/android-unable-to-detect-vertical-plane