@Author:Runsen

最近,在学习PPT设计的时候,需要对下面的Logo进行换色。

这个Logo是字体黑色,背景透明的图片。

如果将上面的Logo直接放在PPT中,由于是黑色的背景,在加上黑色字体的Logo。Logo在色彩配色上会无法显示出来。

因此,需要对Logo进行一个的换色。下图是经过出来的Logo变色。

那么如何将一个Logo变成下面的样子

对于换证件照的方法,直接通过PPT删除背景来解决。

删除背景其实是对图片进行一个抠图的操作、然后再进行色彩的填充。


上图就是将图片填充为黑色。但是发现字体是不能变化,因为在抠图
字体的颜色不能进行变化。

对此,设计师一般只能通过PS的方法,选中【图层】–>【图像】–>【调整】–>【替换颜色】。

这种方法是唯一可行的方法,但是由于我会写一些简单的脚本。

在Python进行下面证件号换色,其原理是抠图然后换背景色。

在这里,其原理不同于证件号换色,而是直接将图片的白色变成黑色,黑色变成白色。

这里使用的模块是PIL和opencv。实现的原理是对图片的对应颜色的数值进行替换。

from PIL import Image
import PIL.ImageOps
import numpy as np
from skimage.io import imsave
import cv2in_path = 'LOGO.png'
out_path = 'LOGOOUT.png'# 读取图片
Image = cv2.imread(in_path)
# Image2 数组
Image2 = np.array(Image, copy=True)
# 白色
white = np.asarray([255, 255, 255])
# 黑色
black = np.asarray([0, 0, 0])(row, col, _) = Image.shapefor r in range(row):for c in range(col):px = Image[r][c]# 在这里的px 一个是 [0 0 0] 黑色 [64 64 64]  半白色print(px)# 检测不是黑色,然后替换为白色if all(px != black):Image2[r][c] = whiteimsave(out_path, Image2)


这样子,一个优质的PPT就制作成功了。

在PPT的时候,发现用Python十几行代码就可以实现Logo换色相关推荐

  1. python控制视频播放器的大小与位置_python_十几行代码实现简单播放器

    python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...

  2. python开发视频播放器_python_十几行代码实现简单播放器

    python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...

  3. python语言写视频播放器-python_十几行代码实现简单播放器

    python20行代码实现简单播放器 播放器简介 播放器大家都并不陌生,我们听音乐,我们看视频都会用到.那么播放器实现的功能到底有哪些呢?一个播放器一般来讲都完成了如下步骤: 读取文件(包括音频文件和 ...

  4. python画自己的名字_Python+OpenCV 十几行代码模仿世界名画

    原标题:Python+OpenCV 十几行代码模仿世界名画 现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等, ...

  5. 谷歌为什么把几十亿行代码放在一个库?

    <ACM通信>有一篇论文<为什么 Google 要把几十亿行代码放在一个库?>,作者是谷歌基础设施小组的工程师.作者详细讲述了Google的代码为什么全部放在一个库里面. 一. ...

  6. Google 为什么把几十亿行代码放在一个库

    <ACM通信>有一篇论文<为什么 Google 要把几十亿行代码放在一个库?>,作者是谷歌基础设施小组的工程师.作者详细讲述了Google的代码为什么全部放在一个库里面. 一. ...

  7. python 抠图源码_别再自己抠图了,Python用5行代码实现批量抠图

    前言 对于会PhotoShop的人来说,抠图是非常简单的操作了,有时候几秒钟就能扣好一张图.不过一些比较复杂的图,有时候还是要画点时间的,今天就给大家带了一个非常快速简单的办法,用Python来批量抠 ...

  8. Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋

    Python百日百行代码挑战-day8,day9,day10,游戏实战系列-五子棋 写在前面 需要用到的工具包和参考 游戏设定 初始化 切换下棋方 判断五子连珠(核心) 鼠标点击流程事件 成品展示 打 ...

  9. 【python】20行代码实现有道翻译api接口调用

    文章目录 1. 目标站点 2. 完整代码 3. 测试样例 3.1. 测试样例Ⅰ(汉译英) 3.2. 测试样例Ⅱ(英译汉) 4. 调用文档 4.1. 接口地址 4.2. 请求方法 4.3. 请求参数 4 ...

最新文章

  1. ROR与社区网站开发
  2. C# 多线程六之Task(任务)三之任务工厂
  3. Python 人脸识别就多简单,看这个就够了!
  4. Spring 3.0参考之SpEL
  5. python中的try......except......
  6. 在git的Bash下进行复制粘贴
  7. 破解class文件的第一步:深入理解JAVA Class文件
  8. python购物信息整合教程_python实现简单购物商城
  9. OceanBase架构介绍
  10. 开源PaaS Rainbond发布v3.7.2版本,帮助企业快速构建应用市场 1
  11. Sql Server 增加字段、修改字段、修改类型、修改默认值
  12. Echarts柱状图和折线图结合
  13. 【其他】缩小图片的文件大小
  14. 提升update执行效率
  15. ftp客户端安装,六款可以安装的ftp客户端
  16. Re5:读论文 TWAG: A Topic-guided Wikipedia Abstract Generator
  17. Win10 - 彻底禁用Cortana的方法
  18. 黑鲨会升级鸿蒙吗,黑鲨游戏手机2系统更新好吗?
  19. 畅想未来的计算机网络科技有限公司,畅想未来科技生活作文
  20. JS实现邮箱提示补全效果

热门文章

  1. c/c++ / printf 实现
  2. php MySQL快速入门_PHP 连接 MySQL
  3. php myadmin utf,phpmyadmin在哪里设置utf_8
  4. oracle product文件,快速修复Oracle参数文件的另类方法
  5. qrcodejs2--Vue生成二维码组件封装
  6. 7.6~7.20集训总结(一)
  7. c++ vector注意事项
  8. 【BZOJ2797】[Poi2012]Squarks 暴力乱搞
  9. 华为上机:求2的N次幂的值
  10. andengine游戏引擎总结基础篇