Python实现转换图片背景颜色代码


Posted in Python onApril 30, 2020

在使用图片的时候有时候我们希望改变背景颜色,这样就只关注于图片本身。比如在连连看中就只有图片,而没有背景,其实我个人感觉有背景好看一点。

两种方法,思路一致:

法一:

import cv2

# 修改透明背景为白色
def transparence2white(img):
  sp=img.shape # 获取图片维度
  width=sp[0] # 宽度
  height=sp[1] # 高度
  for yh in range(height):
    for xw in range(width):
      color_d=img[xw,yh] # 遍历图像每一个点,获取到每个点4通道的颜色数据
      if(color_d[3]==0): # 最后一个通道为透明度,如果其值为0,即图像是透明
        img[xw,yh]=[255,255,255,255] # 则将当前点的颜色设置为白色,且图像设置为不透明
  return img

img=cv2.imread('bar.png',-1) # 读取图片。-1将图片透明度传入,数据由RGB的3通道变成4通道
img=transparence2white(img) # 将图片传入,改变背景色后,返回
cv2.imwrite('bar.png',img) # 保存图片,文件名自定义,也可以覆盖原文件

法二:

from PIL import Image
 
def transparence2white(img):
#   img=img.convert('RGBA') # 此步骤是将图像转为灰度(RGBA表示4x8位像素,带透明度掩模的真彩色;CMYK为4x8位像素,分色等),可以省略
  sp=img.size
  width=sp[0]
  height=sp[1]
  print(sp)
  for yh in range(height):
    for xw in range(width):
      dot=(xw,yh)
      color_d=img.getpixel(dot) # 与cv2不同的是,这里需要用getpixel方法来获取维度数据
      if(color_d[3]==0):
        color_d=(255,255,255,255)
        img.putpixel(dot,color_d) # 赋值的方法是通过putpixel
  return img
 

img=Image.open('bar.png')
img=transparence2white(img)
# img.show() # 显示图片
img.save('bar3.png') # 保存图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python删除java文件头上版权信息的方法
Jul 31 Python
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
django 创建过滤器的实例详解
Aug 14 Python
python装饰器实例大详解
Oct 25 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
完美解决python3.7 pip升级 拒绝访问问题
Jul 12 Python
Python如何访问字符串中的值
Feb 09 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
May 13 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
记一次django内存异常排查及解决方法
Aug 07 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
Mar 03 Python
拒绝盗图!教你怎么用python给图片加水印
Jun 04 Python
Python requests.post方法中data与json参数区别详解
Apr 30 #Python
python:解析requests返回的response(json格式)说明
Apr 30 #Python
python 串行执行和并行执行实例
Apr 30 #Python
Django Channel实时推送与聊天的示例代码
Apr 30 #Python
Django ORM 查询表中某列字段值的方法
Apr 30 #Python
Python pip install如何修改默认下载路径
Apr 29 #Python
Django 5种类型Session使用方法解析
Apr 29 #Python
You might like
Search Engine Friendly的URL设计
2006/10/09 PHP
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
ThinkPHP框架安全实现分析
2016/03/14 PHP
PHP依赖注入(DI)和控制反转(IoC)详解
2017/06/12 PHP
用JavaScript对JSON进行模式匹配(Part 1-设计)
2010/07/17 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
jquery实现类似EasyUI的页面布局可改变左右的宽度
2020/09/12 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
javascript回调函数详解
2018/02/06 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
JS实现在线ps功能详解
2019/07/31 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
angular异步验证防抖踩坑实录
2019/12/01 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
python 编程之twisted详解及简单实例
2017/01/28 Python
python使用fcntl模块实现程序加锁功能示例
2017/06/23 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
opencv改变imshow窗口大小,窗口位置的方法
2018/04/02 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
python time()的实例用法
2020/11/03 Python
python中requests模拟登录的三种方式(携带cookie/session进行请求网站)
2020/11/17 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
环境科学专业教师求职信
2014/07/12 职场文书
2015年校长新年寄语
2014/12/08 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
Win11怎么启动任务管理器?Win11启动任务管理器的几种方法
2021/11/23 数码科技
Apache POI操作批量导入MySQL数据库
2022/06/21 Servers