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

两种方法,思路一致:

法一:

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实现转换图片背景颜色代码相关推荐

  1. python海龟画图代码大全_python海龟库(turtle)中颜色的表示方法

    在python海龟库中,表示颜色的方法有很多,总体来讲共分成以下两类. 1. 用字符串表示颜色 在turtle库中,我们常常用颜色所对应的英文单词来直观的表示颜色. 例如:"red" ...

  2. python画心形代码大全_Python代码合集看点 机器人算法、自动导航算法算法大全...

    导读:本文包含机器人算法.自动导航算法的Python代码合集.其主要特点有以下三点:选择了在实践中广泛应用的算法:依赖最少.容易阅读,容易理解每个算法的基本思想.希望阅读本文后能对你有所帮助.文章来源 ...

  3. bat小游戏代码大全_Python打砖块小游戏源代码

    这次用Python实现的是一个接球打砖块的小游戏,最核心的就是:碰撞检测的数学模型 程序运行截图: 其实,编程问题到最后就是数学问题,这个游戏涉及到2D圆形与矩形的碰撞检测问题: 碰撞检测原理:通过找 ...

  4. python通过封装可以实现代码复用_Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  5. php颜色底色,PHP GD 库自定义图片背景颜色

    缘起 开发"微信推广海报"的时, 背景图片未覆盖的地方默认会被黑色填充. 而我希望改成白色背景, 以对用户更友好一些. 但是无论设置成什么颜色, 图片的背景颜色一直都是黑色, 无法 ...

  6. html命令代码大全,一、HTML各种命令的代码:

    7 设置字体的颜色,使用名字或十六进制值2.图形(命令)添加一个图像排列对齐一个图像:左中右或上中下设置围绕一个图像的边框的大小 加入一条水平线设置水平线的大小(高度)设置水平线的宽度(百分比或绝对像 ...

  7. 代码大全和新月神话_神话般的代码

    代码大全和新月神话 考虑以下代码段: int max = 10; int a = 0; while (true) {// do a thing that may result in an early ...

  8. 如何把winform图片背景换成透明颜色_如何用photoshop更换图片背景颜色?

    生活与工作中我们经过会需要更改图片的背景颜色,首先的软件肯定是photoshop,那么对于不熟悉photoshop的人来说,如何通过这个软件来更改图片的背景色呢,下面和大家分享下小技巧: 首先打开ph ...

  9. 简单代码大全_VBA爱好者请进:VBA代码宝概述

    VBA 代码宝是 ExcelHome 出品的共享工具类软件之一. 虽然 Office 软件本身已经足够强大,但仍然有很多特色功能,需要使用 VBA 来进行定制开发.无论是VBA小白还是经验丰富资深开发 ...

  10. 万圣节html代码大全,方舟生存进化249万圣节新版本代码大全分享

    类型:修改器(游戏工具)大小:4.3M语言:中文 评分:10.0 标签: 立即下载 方舟生存进化万圣节版本已经更新了,各位玩家有没有去更新呢,这次大的更新也是更新了不少的东西,下面小编就来给大家介绍一 ...

最新文章

  1. 清除浮动,消除FF和IE的区别
  2. 工作心得之-------关于“表现”
  3. Python:Selenium 1:浏览器驱动
  4. boost::interprocess::wmanaged_external_buffer用法的测试程序
  5. 字符集_超详细的MySQL数据库字符集总结,值得收藏
  6. selenium ruby和java_针对Ruby的Selenium WebDriver安装指南
  7. 智能优化算法应用:基于麻雀搜索算法的水文地质参数优化 -附代码
  8. NetAssist.exe网络调试工具
  9. 状态空间表达式用matlab求解,matlab状态空间表达式
  10. VS 2019 打包安装应用
  11. 通过网络爬虫采集大数据
  12. iOS 16 Beta 系统上线,Testin云测试云真机服务全新升级
  13. 解决appium中Error: The port #8100 is occupied by an other process的问题
  14. ROS(RouterOS)实现一线多拨+负载均衡(多图)
  15. 亲自动手写爬虫系列三、爬取队列
  16. ESP32 测试(五): Light-sleep 模式下的电流功耗测试及特性(使用 Wi-Fi)
  17. axure rp pro 9.0授权密钥
  18. 所以,你知道你为什么要读书了吗?
  19. GPRS模块中AT指令发送短信的PDU编码规则
  20. C语言 打飞机 小游戏

热门文章

  1. 记录虚拟机ubuntu 复制粘贴到主机window
  2. SAM-BA连接不上
  3. iPhone、iPad屏幕分辨率尺寸对比
  4. app消息推送接入流程
  5. .Net Core过滤器分类
  6. 【概率】由已有的随机生成器构造出新的随机生成器
  7. STM32F401RE Nucleo 在 keil MDK上的使用
  8. 变速齿轮修改服务器时间,可改变游戏速度!游戏变速齿轮安装使用说明
  9. 什么叫服务器加密狗信息异常,加密狗不能识别,只是服务器能用,客户端提示到期,是什么原因,已经换了口,也重启过电脑了。...
  10. 金蝶云星空API调用实践