图片杂乱无章、分享麻烦?HMS Core图片分类服务教你快速筛选、分类、整合相册
如今手机摄影越来越方便,随手一拍就能记录美好生活。但照片越多,整理越麻烦,有的时候我们想对照片进行二次加工、分享,需要不停翻找相册。HMS Core机器学习服务(ML Kit)提供了图片分类服务,方便用户在多个场景下快速筛选图片集、定义图片题材并标注分类信息。比如,期末老师时常会要求家长和孩子一起制作亲子成长手册,教育服务类App集成图片分类服务后可以把一个学期以来的所有照片分类汇总成相册;出去玩了多个景点或途径不同城市,旅游分享类App可以帮助用户整理基于某个位置或某个实物进行图片分类;在全场景下手机相册需要把照片同步到大屏上轮播,文件分享类App可以设置分享规则,分类上传。
接下来,请开发者们通过以下开发实战进行体验,同时期待大家将便捷的图片分类服务进一步带给用户~
开发实战
1 开发准备
在进行开发前需要配置HMS Core SDK的Maven仓地址:
repositories {
maven {
url'https://cmc.centralrepo.rnd.huawei.com/artifactory/product_maven/' }
}
并集成本SDK:
- dependencies {
- // 引入基础SDK
implementation 'com.huawei.hms:ml-computer-vision-classification:3.3.0.300' - // 引入图片分类模型包
- implementation 'com.huawei.hms:ml-computer-vision-image-classification-model:3.3.0.300'
}
然后请参见云端鉴权信息使用须知,设置您应用的鉴权信息
2 编辑工程集成
2.1 设置应用的鉴权信息
可以通过api_key或者Access Token来设置应用鉴权信息。
通过setAccessToken方法设置Access Token,在应用启动时初始化设置一次即可,无需多次设置。
MLApplication.getInstance().setAccessToken("your access token");
通过setApiKey方法设置api_key,在应用启动时初始化设置一次即可,无需多次设置。
MLApplication.getInstance().setApiKey("your ApiKey");
2.2 创建静态图片检测器
// 方式一:端侧识别使用自定义参数配置。
MLLocalClassificationAnalyzerSetting setting =
new MLLocalClassificationAnalyzerSetting.Factory()
.setMinAcceptablePossibility(0.8f)
.create();
MLImageClassificationAnalyzer analyzer = MLAnalyzerFactory.getInstance().getLocalImageClassificationAnalyzer(setting);
// 方式二:端侧识别使用默认参数配置。
MLImageClassificationAnalyzer analyzer = MLAnalyzerFactory.getInstance().getLocalImageClassificationAnalyzer();
2.3 创建MLFrame
// 通过bitmap创建MLFrame,bitmap为输入的Bitmap格式图片数据。支持的图片格式包括:jpg/jpeg/png/bmp,建议图片尺寸不小于112*112像素。
MLFrame frame = MLFrame.fromBitmap(bitmap);
2.4 调用asyncAnalyseFrame方法进行图像分类
Task<List<MLImageClassification>> task = analyzer.asyncAnalyseFrame(frame);
task.addOnSuccessListener(new OnSuccessListener<List<MLImageClassification>>() {
@Override
public void onSuccess(List<MLImageClassification> classifications) {
// 识别成功。
// 遍历返回的列表MLImageClassification,获取分类名称等信息。
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception e) {
// 识别失败。
// Recognition failure.
try {
MLException mlException = (MLException)e;
// 获取错误码,开发者可以对错误码进行处理,根据错误码进行差异化的页面提示。
int errorCode = mlException.getErrCode();
// 获取报错信息,开发者可以结合错误码,快速定位问题。
String errorMessage = mlException.getMessage();
} catch (Exception error) {
// 转换错误处理。
}
}
});
2.5 识别完成后停止分析器
try {
if (analyzer != null) {
analyzer.stop();
}
} catch (IOException e) {
// 异常处理。
}
3 演示及说明
3.1说明
图片分类功能包含静态端侧、静态云侧、动态检测,以上示例仅为静态端侧功能。
3.2 演示
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
相关文章
- Kubernetes命令行工具 - kubectl用法总结
- 一键安装高可用Kubernetes集群的工具,支持本地环境和云环境
- 云原生钻石课程 | 第7课:Kubernetes 网络架构原理深度剖析(下)
- 虚实相生,构建数智生活|HMS Core. Sparkle应用创新分论坛报名启动
- 报名启动丨HMS Core. Sparkle应用创新论坛
- 中文主播也能海外带货!同声传译助直播类应用开拓海外市场
- HMS Core 机器学习服务打造同传翻译新“声”态,AI让国际交流更顺畅
- 无密码身份验证如何保障用户隐私安全?
- 【FAQ】华为帐号服务报错 907135701的常见原因总结和解决方法
- 华为HMS Core携手超图为三维GIS注入新动能
- HMS Core音频编辑服务3D音频技术,助力打造沉浸式听觉盛宴
- 华为帐号多端协同,打造美好互联生活
- HMS Core打造影音娱乐行业解决方案,助推视听新浪潮
- 运动App如何实现端侧后台保活,让运动记录更完整?
- 品质影音体验,畅享娱乐生活丨HMS Core.Sparkle影音娱乐创新线上沙龙报名启动
- HMS Core机器学习服务实现同声传译,支持中英文互译和多种音色语音播报
- 华为机器学习服务语音识别功能,让应用绘“声”绘色
- 影音娱乐应用开发,这些关键词请查收
- 在线文本实体抽取能力,助力应用解析海量文本数据
- HMS Core新闻行业解决方案:让技术加上人文的温度