学妹居然叫我帮她P证件照自拍,结果发现.........

news2024/11/27 14:30:11

前因后果

事情是这样的

晚上我正在聚精会神写代码(打游戏~)

突然,收到学妹给我发来的消息

还有一张自拍照

而且是可以放在结婚证上的那种哦

原来是照片尺寸不合适

让我帮她修图。还要什么蓝底、红底各种背景的

效果

1、尺寸长宽调整为:295x413

2、背景色调为蓝底 和 红底各一张

3、还要一张透明背景的证件照。

一顿啪啪啪操作,效果如下。

准备工作

我们需要用到两个python模块:pillow和removebg

pillow模块:用于调整照片的像素大小。

removebg模块:用于抠图,调整背景。

#安装python模块
pip install pillow
pip install removebg

证件照尺寸调整

先来调整尺寸吧,调好了,再来调整背景颜色。

学妹说,她考试要求的照片尺寸:295x413

from PIL import Image

old_img = 'C:/Users/Administrator/Desktop/img/学妹.png'
new_img = 'C:/Users/Administrator/Desktop/img/学妹-new.png'
img = Image.open(old_img)
# 读取照片尺寸
(x, y) = img.size
# 重新设置照片尺寸
x_s = 295  # 宽
y_s = 413  # 高
out = img.resize((x_s, y_s), Image.ANTIALIAS)  # resize image with high-quality
out.save(new_img)

print('原始照片尺寸(宽x高): ', x, "x", y)
print('调整后照片尺寸:(宽x高) ', x_s, "x", y_s)

啪啪一顿操作,照片尺寸调好了。

证件照背景调整

1、通过removebg模块的方法,我们可以把人像抠图出来。

2、我们通过颜色背景来定义三个背景颜色

BACKGROUND_COLOR = {
    'RED': (255, 0, 0, 255),
    'BLUE': (67, 142, 219, 255),
    'WHITE': (255, 255, 255, 255)
}

3、将抠出来的无背景的图片 粘贴到我们自己画的背景板上

# 老照片路径、新照片路径、无背景照片路径、颜色
def get_img_bg(old_img_path, new_img_path, no_bg_img_path, color):
    # 去掉背景图,提取照片
    rmbg.remove_background_from_img_file(old_img_path)
    foreground = Image.open(no_bg_img_path)
    background = Image.new('RGBA', foreground.size, BACKGROUND_COLOR[color])  # 背景图,大小同前景图
    background.paste(foreground, mask=foreground)
    background.save(new_img_path)


if __name__ == '__main__':
    get_img_bg('C:/Users/Administrator/Desktop/img/学妹.png', 'C:/Users/Administrator/Desktop/img/学妹_red.png',
               'C:/Users/Administrator/Desktop/img/学妹.png_no_bg.png', 'RED')
    get_img_bg('C:/Users/Administrator/Desktop/img/学妹.png', 'C:/Users/Administrator/Desktop/img/学妹_blue.png',
               'C:/Users/Administrator/Desktop/img/学妹.png_no_bg.png', 'BLUE')

各种背景颜色图片

原图、透明背景、蓝色背景、红色背景图片全部生成。

完整代码

PS:本文只是大致展示,完整代码可以加下方的群去找免费管理员领取

分享

兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。

那么对于这些小伙伴们,我准备了大量的免费视频,PDF电子书籍,以及源代码!

直接点击这里领取即可! 我都放在这里了。

希望对各位有所帮助~




尾语

在经过我啪啪啪,敲了半个小时代码之后,我把P好的证件照,发给了学妹。

学妹反响很强烈!

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

有序数组转换为二叉查找树

问题描述 给定一个整数数组,其元素为先序排列,将其转换为高度平衡的二叉查找树。 示例 示例1 Input: nums [-10,-3,0,5,9] Output: [0,-3,9,-10,null,5] Explanation: [0,-10,5,null,-3,null,9] is also accepted: 示例2 Input: nums [1,3] Output: …

STM32实战总结:HAL之触摸屏

输入类设备简介 IO输入输出,是计算机系统中的一个概念。计算机的主要功能就是从外部获取数据然后进行计算加工得到目标数据并输出给外部(计算机可以看成数据处理器)。计算机和外部交互就是通过IO。每一台计算机都有个标准输入和标准输出。 常…

业务:财务会计业务知识

一、引言 会计是以货币为主要计量单位,对企业、事业、机关、团体及其他经济组织的经济活动进行记录、计算、控制、分析、报告,以提供财务和管理信息的工作。会计的职能主要是反映和控制经济活动过程,保证会计信息的合法、真实、准确和完整&a…

像素坐标和实际坐标的转换

文章目录像素坐标系图像坐标系小孔成像原理相机坐标系畸变参数像素坐标系 像素坐标系uov是一个二维直角坐标系,反映了相机CCD/CMOS芯片中像素的排列情况。原点o位于图像的左上角,u轴、v轴分别于像面的两边平行。像素坐标系中坐标轴的单位是像素&#xf…

新手python的自学总结(已拿到百度offer)

今天给大家分享一个小伙伴自学Python找到工作的文章。 先简单介绍一下小伙伴的情况。是非科班出身的,虽然高中读的是理科,但是进入大学学了一个文科专业,之后就再没接触过理工科的东西。对计算机也是一窍不通,大学才刚开始接触电…

Linux源码——启动流程1

主要 大概流程就是: 通电自检-----》bios----》bootloader —》内核。其中内核这部分是这篇主要的,通过bootloader初始化好一些条件,然后调用kernel_entry()开始正式进入内核之中,后面就是内核操作了,启动进程什么的…

Java知识点

Java浅拷贝 Java的深拷贝和浅拷贝 - YSOcean - 博客园 (cnblogs.com) Clone 是 Object 类中的一个方法,通过对象A.clone() 方法会创建一个内容和对象 A 一模一样的对象 B,clone 克隆,顾名思义就是创建一个一模一样的对象出来(浅…

如何确保海外服务器的高可用性?

服务器正常运行时间和站点可用性是每个企业的首要任务。但对于那些通过在线业务盈利的公司来说,确保可靠性是最重要的。然而,任何意外停机都是有代价的,而硬件故障是最常见的原因。不过好在这也是可以预防的。那么,如何确保海外服…

怎样把网页上的音频转换成mp3格式?试试这几个转换方法

大家平时喜欢听音乐吗?我经常会在网上保存一些不错的音频到设备上,这样子就方便我可以随时播放了。那你们有遇到过该音频格式不支持播放的情况吗?这种情况是因为播放器兼容的音频格式比较少,需要我们将音频格式转换成播放器兼容的…

如何发现Python依赖库漏洞

因为python编程的流行,python的各种库也越来越多,但许多小伙伴可能只注意到了自己编程所要依赖的环境,但是却忽略了库的版本也有可能存在漏洞的风险,如果不及时检查和更新python依赖库,那么很有可能你写的代码本身就存…

[附源码]SSM计算机毕业设计医院药房管理系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

《500强高管谈VE》-以VE ORIENTED管理为目标

文章出处:日本VE协会杂志文章翻译:泰泽项目部 关注泰泽:实现高利润企业《500强高管谈VE》-以VE ORIENTED管理为目标 作者:代表董事兼副社长近藤一 以阪神大地震为首的诸多事件等,社会动荡中,经济的动向也以…

HTML + CSS 实现矩形/圆形进度条效果 - SVG

本文记录通过 HTML CSS 部分原生 JS 使用 SVG 嵌入 HTML 文档的用法实现常见的圆形和矩形进度条效果,效果图如下:(实际运行效果是进度条从 0 过渡到一个目标值比如 100%) 下面直接上代码: 圆形 HTML:线…

【数据结构】第七章 图

1.单选(2分) 已知一个有向图的邻接矩阵表示,要删除所有从第i个结点发出的边,操作为( )。 ‏A.将邻接矩阵的第i列删除 B.将邻接矩阵的第i行元素全部置为0 C.将邻接矩阵的第i列元素全部置为0 D.将邻接矩阵的第i行删除 2.单选(2分)…

UE5——动画混合

一、引言 关于动画的一些基础可以看我往期的文章:《UE5——动画重定向》 二、动画混合 1、动画混合的原理 动画: 我们知道动画实际上就是控制静态模型中的某些点按照一定的预定轨迹移动,简言之就是 “一组变换信息的集合” 动画混合&…

多功能手持读数仪VH03如何连接手机蓝牙

VH03 内置有基于 SPP(Serial Port Profile)协议的蓝牙接口,蓝牙名称为“VH03”。 使用任何支持 SPP 协议的蓝牙设备均可实现与 VH03 的连接。当蓝牙建立连接后,可向 VH03 发送指令进行交互(前述 MODBUS、AABB、字符串…

CET-4 week9 阅读 写译

去# 阅读 question 定位 寻找有意义有目的 的动词符号 – , 转折词从句的解释说明理解超刚词不完全一样的地方要注意 注意匹配对应 answer 是否出现比较 比较对象 结果 article 重点长难句考点不在简单词上 选相反的答案或其他 仔细阅读 严格翻译题目 知道重点…

采用策略分布曲线评估信用风险模型的效果

在信贷业务的风控体系中,模型的构建与应用始终是一项重点内容,最常见的莫过于贷前环节的申请信用风险模型。作为典型的二分类模型,为了有效识别好坏用户群体,我们经常选取某些评价指标来量化模型的综合性能,例如KS、AU…

Java定时任务技术分析

《从零打造项目》系列文章 工具 比MyBatis Generator更强大的代码生成器 ORM框架选型 SpringBoot项目基础设施搭建SpringBoot集成Mybatis项目实操SpringBoot集成MybatisPlus项目实操SpringBoot集成Spring Data JPA项目实操 数据库变更管理 数据库变更管理:Liquibase…

内存 管理

内存管理c/c中内存分布sizeof 与 strlenc 语言中动态内存管理方式malloccallocreallocc 中动态内存管理new 与 delete自定义类型空间的动态分配new 与 delete 的实现operator new 与 operator delete基本概念辨识malloc/free 与 new/delete 区别 *****内存泄漏c/c中内存分布 c…