首页 > 编程语言 >【python】证件照更换背景颜色

【python】证件照更换背景颜色

时间:2023-05-31 17:45:57浏览次数:51  
标签:bg no python photo image 背景 证件照 更换

1、 介绍

本文使用u2net, pillow, 及backgroundremover进行照片背景的替换

 

2、安装

pip install pillow
pip install backgroundremover

 

3、u2net介绍

https://github.com/xuebinqin/U-2-Net

CSDN镜像地址(可能不是最新)

https://gitcode.net/mirrors/xuebinqin/U-2-Net?utm_source=csdn_github_accelerator

 

4、实现

#!/usr/bin/env python  
# -*- coding:utf-8 -*-  

import os
from PIL import Image
# 输入
in_path = "./test.jpg"
# 输出
out_path = "./white_photo.png"

no_bg_photo = './no_bg_photo.png'
# 要替换的背景颜色
color = "white"
# 红:red、蓝:blue、黑:black、白:white

# 去掉背景颜色
os.system(f'backgroundremover -i "{in_path}" -o "{no_bg_photo}"')
# 加上背景颜色
no_bg_image = Image.open(no_bg_photo).convert("RGBA")
x, y = no_bg_image.size
new_image = Image.new('RGBA', no_bg_image.size, color=color)
new_image.paste(no_bg_image, (0, 0, x, y), no_bg_image)
new_image.save(out_path)

第一次执行会自动下载模型,可能会很慢

 如果下载不下来,就要想办法了,采用第三方下载工具或者魔法

 

5、百度随便找了个证件照

原图

 没背景的图

 换成白色背景的图

 至此基本完成, 只是边缘处理的没那么理想,还需要调试

 

 

6、其他

很多微信小程序,有免费使用的次数,效果还不错,不喜欢折腾的,可以用现成的

 

 

 

参考链接:

证件照不会更换底色怎么办?教你3种方法一键更换证件照背景色_办公软件_什么值得买

U2Net python人像去除背景

标签:bg,no,python,photo,image,背景,证件照,更换
From: https://www.cnblogs.com/fireblackman/p/17446881.html

相关文章

  • Python基础之函数的参数以及名称空间
    函数的参数形式参数什么是形式参数:在'函数定义阶段'括号内依次写入的变量名就叫形式参数,简称"形参" defindex(a,b,c,d,e):pass#a,b就称之为是函数的形参1、位置形参位置形参 在函数'定义阶段'括号内从'左往右依次'写入的'变量名'就是位置形参......
  • Python基础之装饰器
    装饰器1、为什么要用装饰器1.1、为程序提供扩展功能的可能性1.2、要遵循开放封闭原则1.3、禁止修改原代码,但是可以新增功能1.4、也不能修改调用方式2、什么是装饰器2.1为被装饰对象添加新功能的工具2.2、不修改被装饰对象源代码和调用方式3、装饰器的核心思想3......
  • Python之作用域
    作用域、函数对象和闭包作用域1、全局作用域内置名称空间+全局名称空间全局存货全局有效2、局部作用域局部名称空间局部存活局部有效3、global关键字作用: 声明全局变量###########################global"""在函数的内部不能直接修改外部的变量......
  • python基础15
    递归函数什么是递归函数递归就是直接或者间接调用自己的函数就是递归函数1#练习题2l=[1,[2,[3,[4,[5,[6,[7,[8]]]]]]]34defindex(l):5foriinl:6iftype(i)isint:7print(i)8else:9index(i)算法之......
  • python版本的“共轭梯度法”算法代码
    在看代码的过程中遇到了共轭梯度法这个概念,对这个算法的数学解释看过几遍,推导看过了,感觉懂了,然后过上一些日子就又忘记了,然后又看了一遍推导,然后过了一些日子也就又忘记了,最后想想这个算法的数学解释就不要再取深究了,毕竟平时也不太会用到,偶尔用到了只要保证代码会写也就OK了。 ......
  • 使用python操作hdfs,并grep想要的数据
    代码如下:importsubprocessfordayinrange(24,30):forhinrange(0,24):filename="tls-metadata-2018-10-%02d-%02d.txt"%(day,h)cmd="hdfsdfs-text/data/2018/10/%02d/%02d/*.snappy"%(day,h)print(c......
  • python cassandra 创建space table并写入和查询数据
     fromcassandra.clusterimportClustercluster=Cluster(["10.178.209.161"])session=cluster.connect()keyspacename="demo_space"session.execute("createkeyspace%swithreplication={'class':'SimpleStrategy&......
  • python berkeley DB操作——打开btree索引文件中的database
    打开BDB中某个索引中的数据库代码: frombsddb3importdbimportbsddb3asbsddbprintdb.DB_VERSION_STRINGmydb=db.DB()mydb.open('your_btree_db_filename','databsename',dbtype=db.DB_BTREE)rec=cur.first()whilerec:#printkeyvaluepri......
  • 爬虫-Python爬虫常用库
    一、常用库1、requests做请求的时候用到。requests.get("url")2、selenium自动化会用到。3、lxml4、beautifulsoup5、pyquery网页解析库说是比beautiful好用,语法和jquery非常像。6、pymysql存储库。操作mysql数据的。7、pymongo操作MongoDB数据库。8、redis非关......
  • Python解析XML文件
    今天学习如何利用Python来解析XML文档。给定一个XML文件,现在我们用Python来提取里面的内容。<deals><data><deal><deal_id>11111111</deal_id><sales_num>120</sales_num><price>15.0</price>......