【项目实战:证件照】语义分割deeplab3+(pytorch/python)部署安卓实现证件照

该文章介绍了如何将torchvision的Deeplab3+模型转换并部署到安卓应用中,用于从相册选择图片,进行语义分割,替换背景为蓝色,并处理边缘以生成二寸证件照。过程中涉及模型转换、安卓环境配置、图片裁剪和融合处理,最终达到符合二寸证件照像素要求的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现的功能

利用torchvision的语义分割模型deeplab3+,进行转换,然后部署到安卓上,实现二寸证件照的生成。
详细功能如下:
1. 从相册中选择一张 相片  
2. 利用语义分割模型实现相片的分割,并且背景换成证件照的蓝色
3. 生成的证件照,分割的边缘带有一点之前的背景;进行再处理让分割的相片和蓝色背景更好的融合

在这里插入图片描述
4. 对生成的证件照进行保存

总体效果如下(相片为默认的相片,用户可以从相册中选择要处理的相片):

在这里插入图使用了一张默认相片

具体实现

1.生成可以在安卓上运行的模型
把转换生成的.pt模型拷贝到安卓项目的assets文件夹
2. 在安卓项目的app的build.gradle中增加

    implementation 'org.pytorch:pytorch_android:1.7.1'
    implementation 'org.pytorch:pytorch_android_torchvision:1.7.0'
  1. 完成从相册选择相片的功能
    从相册中选择了一张相片

  2. 在代码中load此模型,使用此模型
    得到分割之后的人像,并且把背景更换成证件照的蓝色
    即点击生成二寸证件照的button,生成效果如下:

    此时生成的相片:人物边缘带有一点原来的背景,需要进一步处理,让人物边缘和蓝色背景更好的融合。此外,相片的底部有一点多余的蓝色,需要做裁剪处理。

  3. 点击生成相片再处理,对生成的二寸证件照进一步处理,效果如下:
    在这里插入图片描述

  4. 可以将生成的相片保存下来
    此外: 二寸相片的像素是:274*379
    我们以二寸相片像素大小来展示一下处理前后效果
    A: 最终生成的二寸证件照:
    最终效果展示

B:语义分割没有再处理的效果图:
在这里插入图片描述
C:没有进行任何处理,从相册选择相片之后的效果图:
在这里插入图片描述

写在最后的话

今天就写到这里啦~~有做过类似的或者准备做的童鞋,欢迎相互交流学习~~
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猫 猫小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值