You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Huawei Hair Segmentation 安卓端运行返回空输出问题求助

安卓端HMS MLKit头发分割返回全0掩码问题排查
  • 依赖版本不兼容问题
    你当前引入的com.huawei.hms:ml-computer-vision-cloud版本为2.0.5.300,与分割SDK的2.2.0.300版本跨度过大,会出现类兼容异常。请将所有HMS ML相关依赖统一为相同版本,建议所有分割相关依赖统一升级至最新稳定版,若仅使用端侧分割能力可直接移除不必要的云服务依赖。
  • 参数配置错误问题
    setExact(true)为高精度人体分割专属配置,头发分割场景不支持该参数,你可以将初始化代码修改为:
MLImageSegmentationSetting setting = new MLImageSegmentationSetting.Factory()
        .setExact(false)
        .setAnalyzerType(MLImageSegmentationSetting.HAIR_SEG)
        .create();
  • 输入图片不符合规格问题
    当前你缩放的图片比例为1000*1500,首先确认测试图片中人脸占比不小于画面的1/3,且为无遮挡的清晰正面头部,避免使用侧颜、头发被帽子/围巾遮挡、分辨率过低的测试图。
  • 模型未正确初始化问题
    首次调用头发分割能力时,SDK会自动下载端侧模型,请确认测试设备网络正常,模型下载完成后再调用分割能力。另外请确认你已经在项目中正确导入agconnect-services.json配置文件,且在AppGallery Connect后台已开启ML Kit的分割服务权限。
  • 结果获取逻辑问题
    你当前直接调用getGrayscale()获取灰度图,可先手动打印掩码数组确认返回值:
// 在onSuccess回调中添加
int[][] masks = mlImageSegmentationResults.getMasks();
for (int i = 0; i < masks.length; i++) {
    for (int j = 0; j < masks[0].length; j++) {
        if (masks[i][j] != 0) {
            Log.d("HAIR_SEG", "find hair pixel at: " + i + "," + j);
        }
    }
}

如果存在非0像素,说明掩码正常,你可以手动遍历掩码生成可视Bitmap,头发区域的像素值固定为1,你可以将对应位置设为任意颜色显示即可。

内容的提问来源于stack exchange,提问作者Muhammad Rafique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 05:18:04