安卓开发实战,用华为HMS MLKit 图像分割 SDK开发一个证件照DIY小程序

引子

上期给大家介绍了如何使用如何用华为HMS MLKit SDK 三十分钟在安卓上开发一个微笑抓拍神器详情请戳,本次给大家分享一篇新的实战经验。
不知道大家是否有这样的经历,忽然学校或者公司需要提供让提供个人的一寸或者两寸头像照片,要办理出入证、学生证什么的,并且对照片的底色有要求,有很多人当前没有拍好的证件照需要到照相馆重拍,又或者之前已经拍过了,但是照片底色不满足要求,小编就有过类似的经历,当时学校让办个出入证,学校照相馆又关门了,匆匆忙忙用手机拍了下,然后用床单作为背景应付,结果被老师大骂了一顿。
多年以后华为的HMS MLKit机器学习有了图像分割的功能,使用这个SDK开发一个证件照DIY的小程序,可以完美解决小编当年遇到的尴尬。
废话不多说,为了能够制造强烈的视觉冲击,小编也是拼了,翻出来当年大学时代的囧照,给大家展示下华为 HMS MLKit的强大功能:
在这里插入图片描述
在这里插入图片描述
怎么样,效果是不是还可以,只需要写个小程序就可以快速实现!

核心提示:此SDK免费,安卓全机型覆盖!

证件照DIY开发实战

1 开发准备

1.1 在项目级gradle里添加华为maven仓

打开AndroidStudio项目级build.gradle文件。
在这里插入图片描述
增量添加如下maven地址:

buildscript {
   
    repositories {
           
        maven {
   url 'http://developer.huawei.com/repo/'}
    }    
}
allprojects {
   
    repositories {
          
        maven {
    url 'http://developer.huawei.com/repo/'}
    }
}

1.2 在应用级的build.gradle里面加上SDK依赖

把人脸识别的SDK和基础SDK引入

dependencies{
    
  // 引入基础SDK 
  implementation 'com.huawei.hms:ml-computer-vision:1.0.2.300' 
  // 引入人脸检测能力包 
  implementation 'com.huawei.hms:ml-computer-vision-image-segmentation-body-model:1.0.2.301'  
 }

1.3 在AndroidManifest.xml文件里面增量添加模型自动下载

要使应用程序能够在用户从华为应用市场安装您的应用程序后,自动将最新的机器学习模型更新到用户设备,请将以下语句添加到该应用程序的AndroidManifest.xml文件中:

<manifest    
   <application  
       <meta-data                     
           android:name="com.huawei.hms.ml.DEPENDENCY"          
           android:value= "imgseg "/>        	        
   </application>
</manifest> 

1.4 在AndroidManifest.xml文件里面申请相机和存储权限

<!--使用存储权限-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

2 代码开发关键步骤

2.1 动态权限申请

@Override
protected void onCreate(Bundle savedInstanceState) {
   
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    if (!allPermissionsGranted()) {
   
        getRuntimePermissions(
  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值