包头做网站的公司,做策划需要进的网站,慕枫网站建设,用手机怎么做网页对于检测到的平面#xff0c;您可以通过AR Engine识别该平面的语义#xff0c;包括墙面、地面、座椅面、桌面、天花板、门面、窗面、床面。
创建AR会话
创建AR会话并配置为平面语义识别模式。 AREngine_ARSession *arSession nullptr;// 创建AR会话。HMS_AREngine_ARSessi…对于检测到的平面您可以通过AR Engine识别该平面的语义包括墙面、地面、座椅面、桌面、天花板、门面、窗面、床面。
创建AR会话
创建AR会话并配置为平面语义识别模式。 AREngine_ARSession *arSession nullptr;// 创建AR会话。HMS_AREngine_ARSession_Create(nullptr, nullptr, arSession);AREngine_ARConfig *arConfig nullptr;// 创建AR会话配置器。HMS_AREngine_ARConfig_Create(arSession, arConfig);// 设置语义识别模式为平面语义识别。HMS_AREngine_ARConfig_SetSemanticMode(arSession, arConfig, ARENGINE_SEMANTIC_MODE_PLANE);// 配置器设置给AR会话。HMS_AREngine_ARSession_Configure(arSession, arConfig);
检测环境中的平面
进行平面语义识别之前您需要先检测环境中的平面。您可以参考检测环境中的平面完成平面检测过程并获取环境中的平面数量。当存在平面时您可以继续下面的步骤。
初始化平面语义标签
创建并初始化平面语义标签label用于描述平面的语义。 AREngine_ARSemanticPlaneLabel label ARENGINE_PLANE_UNKNOWN;
平面语义标签定义为枚举类型包括9种枚举值1种未知类型8种平面类型。 typedef enum {/** Unknown type. */ARENGINE_PLANE_UNKNOWN 0,/** Wall. */ARENGINE_PLANE_WALL 1,/** Floor. */ARENGINE_PLANE_FLOOR 2,/** Seat. */ARENGINE_PLANE_SEAT 3,/** Table. */ARENGINE_PLANE_TABLE 4,/** Ceiling. */ARENGINE_PLANE_CEILING 5,/** Door. */ARENGINE_PLANE_DOOR 6,/** Window. */ARENGINE_PLANE_WINDOW 7,/** Bed. */ARENGINE_PLANE_BED 8} AREngine_ARSemanticPlaneLabel;
识别平面类型
调用HMS_AREngine_ARPlane_GetLabel函数获取平面类型结果存放在label中。 HMS_AREngine_ARPlane_GetLabel(arSession, arPlane, label);