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脚本文件打包成可执行文件的方法
Jun 02 Python
python MySQLdb使用教程详解
Mar 20 Python
对numpy中array和asarray的区别详解
Apr 17 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
python正向最大匹配分词和逆向最大匹配分词的实例
Nov 14 Python
Python 按字典dict的键排序,并取出相应的键值放于list中的实例
Feb 12 Python
Python如何调用JS文件中的函数
Aug 16 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 Python
利用python绘制数据曲线图的实现
Apr 09 Python
Python如何把Spark数据写入ElasticSearch
Apr 18 Python
Python的历史与优缺点整理
May 26 Python
粗暴解决CUDA out of memory的问题
May 22 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
php之字符串变相相减的代码
2007/03/19 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
CodeIgniter钩子用法实例详解
2016/01/20 PHP
php命令行模式代码实例详解
2021/02/26 PHP
window.addeventjs事件驱动函数集合addEvent等
2008/02/19 Javascript
javascript对数组的常用操作代码 数组方法总汇
2011/01/27 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
详解angular笔记路由之angular-router
2017/09/12 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
python实现可下载音乐的音乐播放器
2020/02/25 Python
python计算auc的方法
2020/09/09 Python
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
护士实习生自我鉴定范文
2013/12/10 职场文书
公司部门司机岗位职责
2014/01/03 职场文书
购房意向书范本
2014/04/01 职场文书
消防安全宣传标语
2014/06/07 职场文书
采购员岗位职责范本
2015/04/07 职场文书
2015年计划生育责任书
2015/05/08 职场文书
总经理年会致辞
2015/07/29 职场文书
八年级英语教学反思
2016/02/15 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis