当前位置: 首页 > 后端技术 > Java

您的照片是否凌乱且难以分享?HMSCore图片分类服务教你快速过滤、分类、整合相册

时间:2023-04-02 00:30:49 Java

手机拍照越来越方便,一张照片记录美好生活。但是照片越多,整理起来就越麻烦。有时候我们想要重新处理和分享照片,我们需要不停地翻看相册。HMSCore机器学习服务(MLKit)提供图片分类服务,允许用户在多种场景下快速过滤图片集合、定义图片主题、标注分类信息。例如,在学期结束时,老师们经常会要求家长和孩子一起制作亲子成长手册。教育服务APP可以集成照片分类服务,将一个学期的所有照片收集到相册中;分享应用可以帮助用户根据某个位置或某个对象对图片进行整理和分类;全场景手机相册需要同步照片到大屏轮播,文件分享APP可以设置分享规则分类上传。下面请开发者体验以下开发实践,期待进一步为用户带来便捷的图片分类服务~开发实践1开发准备开发前,需要配置HMSCoreSDK的Maven仓库地址:repositories{maven{url'https://cmc.centralrepo.rnd.h...'}}并集成这个SDK:dependencies{//引入基础SDK实现'com.huawei.hms:ml-computer-vision-classification:3.3.0.300'//引入图像分类模型包实现'com.huawei.hms:ml-computer-vision-image-classification-model:3.3.0.300'}然后参考云认证信息使用说明设置你的认证应用信息2编辑项目集成2.1设置应用认证信息您可以通过api_key或AccessToken设置应用认证信息。通过setAccessToken方法设置AccessToken,在应用启动时初始化一次,无需多次设置。MLApplication.getInstance().setAccessToken("你的访问令牌");通过setApiKey方法设置api_key,应用启动时初始化一次,无需多次设置。MLApplication.getInstance().setApiKey("你的ApiKey");2.2创建静态图像检测器//方法一:设备端识别使用自定义参数配置。MLLocalClassificationAnalyzerSetting设置=newMLLocalClassificationAnalyzerSetting.Factory().setMinAcceptablePossibility(0.8f).create();MLImageClassificationAnalyzeranalyzer=MLAnalyzerFactory.getInstance().getLocalImageClassificationAnalyzer(setting);//使用默认参数配置设备端识别。MLImageClassificationAnalyzeranalyzer=MLAnalyzerFactory.getInstance().getLocalImageClassificationAnalyzer();2.3CreateMLFrame//通过位图创建MLFrame,位图是Bitmap格式的输入图像数据。支持的图片格式包括:jpg/jpeg/png/bmp,建议图片大小不小于112*112像素。MLFrameframe=MLFrame.fromBitmap(位图);2.4调用asyncAnalyseFrame方法进行图像分类Task>task=analyzer.asyncAnalyseFrame(frame);task.addOnSuccessListener(newOnSuccessListener>(){@OverridepublicvoidonSuccess(Listclassifications){//识别成功。//遍历返回的列表MLImageClassification,获取分类名称等信息.}}).addOnFailureListener(newOnFailureListener(){@OverridepublicvoidonFailure(Exceptione){//识别失败。//识别失败。try{MLExceptionmlException=(MLException)e;//获取错误码,开发者可以对错误码进行处理,根据错误码提供差异化??的页面提示interrorCode=mlException.getErrCode();//获取错误信息,开发者可以结合错误码快速定位问题。StringerrorMessage=mlException.getMessage();}catch(Exceptionerror){//转换错误处理。}}});2.5识别完成后停止分析器try{if(analyzer!=null){analyzer.stop();}}catch(IOExceptione){//异常处理。}3演示与说明3.1说明图片分类功能包括静态设备端、静态云端和动态检测。上面的例子只是静态的设备端函数。3.2演示更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~