HarmonyOS 鸿蒙Next中3DGS识别问题
HarmonyOS 鸿蒙Next中3DGS识别问题 我现在这边在开发一个手机版的徽章识别的一个软件手机相册选择和拍摄过后怎么没有模型呢?同时,模型、其他背景这些都是自动没有的用户在应用中选择一张本地照片应用将其转换为3D模型背景不要有,并允许用户通过转动设备从不同角度查看模型。

更多关于HarmonyOS 鸿蒙Next中3DGS识别问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
看你的截图是模拟器,但是Spatial Recon Kit不支持模拟器
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/spatial-recon-introduction
Spatial Recon Kit(空间建模套件)集成了3DGS(3D Gaussian Splatting)模型的渲染、运算等能力。便于用户对三维模型实现自定义操作。
功能介绍
Spatial Recon Kit提供了和空间重建有关的能力,帮助开发者实现三维重建(如3DGS)相关的功能。具体如下:
- 3DGS模型加载:加载不同格式的三维模型(MP4、PLY、GLB)。
- 滤镜:对渲染图像进行风格化处理。
模拟器支持情况
本Kit暂不支持模拟器。
更多关于HarmonyOS 鸿蒙Next中3DGS识别问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
因为我不知道功能是否正常,我身边暂时没有鸿蒙6.1和7.0以上的测试机。
想问一下,目前有没有什么替代的解决方案可以在模拟器查看,
好像云真机还没上7.0的,后续可能会上吧,
请提供需要转换的HTML内容。
相册选择或拍照后“没有模型”是正常的。相册/相机只会给你一张 2D 图片或图片 URI,不会自动生成 3D 模型。ArkGraphics 3D 主要负责加载和渲染已有的 .glb/.gltf 模型,例如通过 Scene.load() + Component3D 展示模型;它不是“照片转 3D”的 AI 模型生成器。
根据你的截图信息可以看出:把照片贴到一个白色平面/卡片上,然后旋转这个平面,所以背景还在,真正的徽章 3D 几何体并没有生成。要实现你描述的效果,需要拆成几步:
- 用 PhotoViewPicker 或 CameraPicker 获取本地图片/拍照结果。
- 做图像识别和背景分割:把徽章主体抠出来,输出带透明通道的图片。
- 做 3D 生成:
- 简单方案:生成一个圆形/立体徽章几何体,把抠出的徽章图贴到正面,属于“2.5D 伪 3D”。
- 真 3D 方案:接入端侧或云端 AI 重建模型,把单张/多张图片转换为 .glb/.gltf。
- 用 ArkGraphics 3D 加载 .glb/.gltf,并设置无环境背景,例如 EnvironmentBackgroundType.BACKGROUND_NONE。
- 用重力/陀螺仪/旋转传感器数据更新模型或相机角度,实现“转动设备从不同角度查看”。
所以问题不在相册或拍摄本身,而是中间缺了“图片转 3D 模型”的生成链路。背景“自动没有”也不会发生,必须做抠图/分割,或者让生成模型时输出透明背景/独立几何体。
参考文档:
哦🙄
尊敬的开发者,您好,
辛苦您看一下在实践过程中还有没有其他具体问题,有任何问题欢迎您随时提问~
尊敬的开发者,您好, 手机相册选择和拍摄后并不会直接将2D转为3D模型,如需实现将2D照片转换为3D模型,并通过转动设备从不同角度查看模型的功能,可以参考文档:生成与渲染空间照片
这个需求要拆成“生成模型”和“渲染模型”两段。相册/拍照后没有模型,不是 ArkUI 自动漏了一步;公开能力里,SpatialReconKit 负责加载和渲染已有 3DGS 模型,支持 MP4、PLY、GLB,ArkGraphics 3D 负责加载 glTF/glb 并用 Component3D 展示。单张照片自动变成可绕看的 3D 模型,通常还需要额外的抠图、三维重建或服务端训练流程。
我给您举一个可落地流程,看是否和需求一致:
-
端侧用 PhotoPicker 或相机拿到图片/视频;如果只是一个徽章,单图更适合先做抠图,再做平面贴片或薄片模型。
-
如果要 3DGS 效果,建议采集多角度照片或短视频,交给自己的重建服务输出 .ply、.glb 或 .mp4。
-
端侧只负责加载生成后的模型并展示,例如:
import { spatialRender } from '@kit.SpatialReconKit';
import { Scene, RenderContext } from '@kit.ArkGraphics3D';
let renderContext: RenderContext | null = Scene.getDefaultRenderContext();
renderContext?.loadPlugin(spatialRender.GSPlugin.PLUGIN_ID);
let scene = await Scene.load();
let uri = 'OhosRawFile://assets/gltf/model.glb';
let gsNode = await spatialRender.GSPlugin.loadGSNode(scene, { uri, offset: 0 }, scene.root);
- 旋转查看不要靠“背景自动没有”,而是控制 GSNode/Node 的 position、scale、rotation,或调整相机参数;背景是否干净取决于重建/抠图阶段。
如果方便,补充一下输入是单张徽章照片、多张照片还是视频,以及最终模型格式是 PLY/GLB/MP4,才能判断是端侧加载问题,还是模型生成阶段还没完成。
参考:
我试一下
单张徽章照片
HarmonyOs
import { HdsTabs, DividerMode, hdsMaterial } from '@kit.UIDesignKit';
@Entry
@Component
struct Index {
build() {
Column() {
Column() {
HdsSearch()
}
.justifyContent(FlexAlign.Center)
.width('100%')
.height('100%')
.backgroundImage($r("app.media
光感搜索框实现
写回答
匿名用户 | Harm
import { HdsTabs, DividerMode, hdsMaterial } from '@kit.UIDesignKit';
@Entry
@Component
struct Index {
build() {
Column() {
Column() {
HdsSearch()
}
.justifyContent(FlexAlign.Center)
.width('100%')
.height('100%')
.backgroundImage($r("app.media
HarmonyOS 鸿蒙Next支持3DGS(3D Gaussian Splatting)识别与渲染,系统提供图形栈和AI能力接口。应用需通过ArkTS调用native层,利用GPU加速解析3DGS模型数据,并配合相机或传感器实现识别。注意模型需转换为鸿蒙兼容格式,内存占用较高,需适配不同设备性能。
3DGS(3D Gaussian Splatting)的核心输入是多视角图像序列,单张照片无法重建3D模型。您目前“没有模型”是正常的——相册单图或单次拍摄只提供一个视角,算法无法反推物体的空间结构。
关于背景自动移除:那是独立于3D重建的图像分割步骤,可先通过抠图算法去掉背景,再送入多视角重建流程。但注意,分割后的单张图仍不能生成3D模型,只能用于2D贴图。
鸿蒙Next目前没有直接开放3DGS的系统API。若需单图转3D,需借助第三方深度估计模型(如MiDaS)获取深度图,再生成伪3D网格——这不是真正3DGS。多视角重建则需自行实现或集成Gaussian Splatting推理框架,并通过相机采集多角度帧。
设备转动查看模型,可基于陀螺仪/姿态传感器驱动3D渲染视角,这部分用OpenGL ES或鸿蒙的XComponent即可实现。建议先明确数据来源:拍摄多张不同角度照片,或拍摄一段环绕视频,再尝试重建。

