昨晚,我用python帮学妹P证件照自拍,然后发现。。。

人生苦短,我用Python

前因后果

事情是这样的

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

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

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

还有一张自拍照

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

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

就是 之前帮过她几次忙

难道要以身相许 去一起办证

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

原来是照片尺寸不合适

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

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

虽然有些失落

还是,默默的撸出了我39米长的python大刀

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

; 先上效果

1、尺寸长宽调整为:295×413

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

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

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

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

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

准备工作

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

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

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


pip install pillow
pip install removebg

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

证件照尺寸调整

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

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

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)
out.save(new_img)

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

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

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

证件照背景调整

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')

啪啪啪代码一顿执行,所有照片都拿到了。

各种背景颜色图片

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

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

; 完整代码

完整代码文末名片自取

结尾

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

学妹反响很强烈!

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

昨晚,我用python帮学妹P证件照自拍,然后发现。。。

; 最后

最后给大家推荐一些Python视频教程,希望对大家有所帮助:

Python零基础入门全套教程

Python进阶全套教程

Python实战100例

再见!

Original: https://blog.csdn.net/ooowwq/article/details/127756409
Author: 轻松学Python
Title: 昨晚,我用python帮学妹P证件照自拍,然后发现。。。

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/726561/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • pytest源码_pytest文档74参数化parametrize加marks标记(pytest.param)

    前言 pytest 使用 parametrize 参数化的时候,有多组测试数据,需要对其中的一些测试数据加标记跳过,可以用pytest.param实现。 pytest.param …

    Python 2023年9月14日
    040
  • 前后端数据交互方式总结

    本文给出的例子均以flask和python为基础,本人也还处于学习阶段,可能会有错误或者不全的地方,请见谅。 1.1 form表单 前端代码如下: <form class=&…

    Python 2023年8月14日
    059
  • python 基于aiohttp的异步爬虫实战

    钢铁知识库,一个学习python爬虫、数据分析的知识库。人生苦短,快用python。 之前我们使用requests库爬取某个站点的时候,每发出一个请求,程序必须等待网站返回响应才能…

    Python 2023年11月1日
    044
  • 用Python画出圣诞树,瞧瞧我这简易版的吧

    前言 嗨嗨,大家好,我是小圆 今天来实现一下 用python画出圣诞树 代码 模块 源码.点击领取即可 import turtle as t from turtle import …

    Python 2023年10月7日
    053
  • MasaFramework — 缓存入门与设计

    概念 什么是缓存,在项目中,为了提高数据的读取速度,我们会对不经常变更但访问频繁的数据做缓存处理,我们常用的缓存有: 本地缓存 内存缓存:IMemoryCache 分布式缓存 Re…

    Python 2023年10月18日
    047
  • UE4 TCP协议连接服务器与客户端

    B站教学链接:https://space.bilibili.com/449549424?spm_id_from=333.1007.0.0 一、TCP原理简介 TCP是传输控制协议(…

    Python 2023年9月30日
    037
  • linux centos7部署anaconda3

    环境:Centos 7 1.下载Anaconda 在最近的日期中,选择一个对应自己系统版本的Anaconda3安装包,x86_64表示兼容32位和64位系统。右键复制链接,在lin…

    Python 2023年11月9日
    038
  • Linux网络通信(TCP套接字编写,多进程多线程版本)

    预备知识 源IP地址和目的IP地址 IP地址在上一篇博客中也介绍过,它是用来标识网络中不同主机的地址。两台主机进行通信时,发送方需要知道自己往哪一台主机发送,这就需要知道接受方主机…

    Python 2023年10月15日
    044
  • request.files.getlist

    from flask import Flask, request uploaded_files = request.files.getlist("fileList&quo…

    Python 2023年8月10日
    045
  • Python比较两个日期的多种方法

    人生苦短,快学Python! 首发于公众号【快学Python】:Python比较两个日期的多种方法! 之前我们曾经分享过:Python获取某一日期是”星期几&#8221…

    Python 2023年8月1日
    042
  • Django案例:“投票”项目的实训步骤

    项目 打开Pycharm,依次点击 文件 –新建项目—新建django项目 ,填写路径和项目名(我的项目名为mysite) 2.1:第一次运行报错项目创建完成后,点击右上角的运行按…

    Python 2023年8月6日
    044
  • qlib+mongo实现转债金融时间序列数据查询

    持续行动1期 39/100,”AI技术应用于量化投资研资”之可转债投资。 截至昨天,我们基本把可转债需要的基础数据,时间序列数据都入库mongo,并且生成q…

    Python 2023年8月20日
    048
  • redis bitmap数据结构之java对等操作

    在之前的文章中,我们有说过bitmap,bitmap在很多场景可以应用,比如黑白名单,快速判定,登录情况等等。总之,bitmap是以其高性能出名。其基本原理是一位存储一个标识,其他…

    Python 2023年10月18日
    065
  • 服务架构的演变与SpringCloud

    CSDN话题挑战赛第2期参赛话题:学习笔记 学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐…

    Python 2023年8月27日
    045
  • Python第三方cv2库介绍

    Python第三方cv2库介绍 CV2指的是OpenCV2(Open Source Computer Vision Library),是一个开源的库平台计算机视觉库。有很强大的图片…

    Python 2023年8月1日
    056
  • pyecharts绘制地图(Geo and Map)(细节更丰富)

    pyecharts绘制地图(Geo and Map)(细节更丰富) 前言 中文官方文档 绘制地图Map 绘制地理坐标图Geo 总结 你们可能需要的 前言 前段时间参加了美赛,因为考…

    Python 2023年8月2日
    056
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球