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

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

两种方法,思路一致:

法一:

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') # 保存图片

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

(0)

相关推荐

  • Python3基于print打印带颜色字符串

    一.实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033) 书写格式: 开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m 注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个:另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别:但是,建议按

  • Python 给屏幕打印信息加上颜色的实现方法

    语法 print('\033[显示方式;字体色;背景色m文本\033[0m') # 三种设置都可以忽略不写,都不写则为默认输出 配置如下 # 字体 背景 颜色 # --------------------------------------- # 30 40 黑色 # 31 41 红色 # 32 42 绿色 # 33 43 黄色 # 34 44 蓝色 # 35 45 紫红色 # 36 46 青蓝色 # 37 47 白色 # # 显示方式 # ------------------------- #

  • 50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等场景. 目标检测的根本任务就是将图片或者视频中感兴趣的目标提取出来,目标的识别可以基于颜色.纹理.形状.其中颜色属性运用十分广泛,也比较容易实现.下面就向大家分享一个我做的小实验---通过OpenCV的Python接口来实现从视频中进行颜色识别和跟踪. 下面就是我们完整的代码实现(已调试运行): i

  • Python通过2种方法输出带颜色字体

    方法1: 使用Python中自带的print输出带有颜色或者背景的字符串 书写语法 print(\033[显示方式;前景色;背景色m输出内容\033[0m) 其中,显示方式.前景色.背景色都是可选参数(可缺省一个或多个). 参数 显示方式 显示方式 效果 0 默认 1 粗体 4 下划线 5 闪烁 7 反白显示 print("显示方式:") print("\033[0mSuixinBlog: https://suixinblog.cn\033[0m") print(&

  • python matplotlib:plt.scatter() 大小和颜色参数详解

    语法 plt.scatter(x, y, s=20, c='b') 大小s默认为20,s=0时点不显示:颜色c默认为蓝色. 为每一个点指定大小和颜色 有时我们需要为每一个点指定大小和方向,以区分不同的点.这时,可以向s和c传入列表.如: import matplotlib.pyplot as plt import numpy as np x = list(range(1, 7)) plt.scatter(x, x, s=10*np.array(x)**2, c=x) plt.show() 参数s

  • python实现简单颜色识别程序

    本文实例为大家分享了python实现简单颜色识别程序的具体代码,供大家参考,具体内容如下 import numpy as np import cv2 font= cv2.FONT_HERSHEY_SIMPLEX lower_red=np.array([0,127,128])#红色阈值下界 higher_red=np.array([10,255,255])#红色阈值上界 lower_green=np.array([35,110,106])#绿色阈值下界 higher_green=np.array(

  • python3使用print打印带颜色的字符串代码实例

    一.实现过程 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033) 书写格式: 开头部分:\033[显示方式;前景色;背景色m + 结尾部分:\033[0m 注意:开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个:另外由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别:但是,建议按

  • Python 根据日志级别打印不同颜色的日志的方法示例

    本文介绍了Python 根据日志级别打印不同颜色的日志的方法示例,分享给大家,具体如下: # -*-coding:UTF-8-*- import logging import os import time class logger(object): """ 终端打印不同颜色的日志,在pycharm中如果强行规定了日志的颜色, 这个方法不会起作用, 但是 对于终端,这个方法是可以打印不同颜色的日志的. """ #在这里定义StreamHandler

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

    在使用图片的时候有时候我们希望改变背景颜色,这样就只关注于图片本身.比如在连连看中就只有图片,而没有背景,其实我个人感觉有背景好看一点. 两种方法,思路一致: 法一: 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=

  • python3中布局背景颜色代码分析

    我们想要给某个模块着重突出,以便引起大家注意的时候,通常给那个模块的背景颜色换亮一点.这种情况的操作多见于我们想要突出表格中的某个数据,或是某一项的名称. 在python3中设置布局背景颜色需要通过代码进行更改,相信很多小伙伴对于这样的设置还比较陌生,接下来我们看看布局背景颜色代码该如何写吧. 更改前 代码如下 import pandas as pd def set_foramt(): # 1.多个sheet页 sheet_list = ['Sheet1', 'Sheet2', 'Sheet3'

  • Python生成九宫格图片的示例代码

    一.前言 大家在朋友圈应该看到过用一张图片以九宫格的方式显示,效果大致如下: 要实现上面的效果非常简单,我们只需要截取图片的九个区域即可.今天我们就要带大家使用Python来实现一下九宫格图片的生成.在开始之前,我们需要安装一下Pillow模块,语句如下: pip install pillow 下面我们先来看看一些简单的图片操作. 二.图片基本操作 今天我们会使用到三个操作,分别是读取图片.保存图片和截取图片.下面我们分别来看看. 2.1 读取图片 在Pillow中,我们最常用的就是Image子

  • Python实现修改图片分辨率(附代码)

    目录 前言 环境依赖 代码 验证一下 前言 本文提供将图片分辨率调整的python代码,一如既往的实用主义. 环境依赖 ffmpeg环境安装,可以参考:windows ffmpeg安装部署 ffmpy安装: pip install ffmpy -i https://pypi.douban.com/simple 代码 不废话,上代码. #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/12/11 21:43 # @Author

  • python中matplotlib条件背景颜色的实现

    如何根据图表中没有的变量更改折线图的背景颜色?例如,如果我有以下数据帧: import numpy as np import pandas as pd dates = pd.date_range('20000101', periods=800) df = pd.DataFrame(index=dates) df['A'] = np.cumsum(np.random.randn(800)) df['B'] = np.random.randint(-1,2,size=800) 如果我做df.A的折线

  • iOS去除图片背景颜色的方法

    实际项目场景:去除图片的纯白色背景图,获得一张透明底图片用于拼图功能 介绍两种途径的三种处理方式(不知道为啥想起了孔乙己),具体性能鶸并未对比,如果有大佬能告知,不胜感激. Core Image Core Graphics/Quarz 2D Core Image Core Image是一个很强大的框架.它可以让你简单地应用各种滤镜来处理图像,比如修改鲜艳程度,色泽,或者曝光. 它利用GPU(或者CPU)来非常快速.甚至实时地处理图像数据和视频的帧.并且隐藏了底层图形处理的所有细节,通过提供的AP

  • python实现批量转换图片为黑白

    本文实例为大家分享了python批量转换图片为黑白的具体代码,供大家参考,具体内容如下 用到的库:OpenCV.os import cv2 import os def re_name(path): files = os.listdir(path) for i, file in enumerate(files): try: new_file_name = os.path.join(path, str(i) + '.jpg') old_file_name = os.path.join(path, f

  • 用Python替换证件照背景颜色

    目录 前言 思路: 完整代码 总结 前言 本文教大家通过Python程序替换证件照背景颜色,以后更换证件照背景就不会再苦恼了. 思路: 先去掉原照片的背景颜色 再添上新的背景颜色 步骤很简单,思路清晰,操作起来也很简单,十行代码就可以搞定,保证看完你肯定会! 1.去掉原图背景颜色 import os # 去掉背景颜色 os.system('backgroundremover -i "'+str(in_path)+'" -o "cg_output.jpg"') in_

  • python使用pil库实现图片合成实例代码

    本文研究的主要是python PIL实现图片合成的相关内容,具体介绍如下,分享实例代码. 在项目中需要将两张图片合在一起.遇到两种情况,一种就是两张非透明图片的合成, 一种是涉及到透明png的合成. 相关API见 http://pillow.readthedocs.io/en/latest/reference/Image.html 第一种情况,直接将两张图片合在一起就可以了.如下图所示,将两张图片合在一起 += 详细代码 from PIL import Image #加载底图 base_img

  • python生成圆形图片的方法

    本文实例为大家分享了python生成圆形图片的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ __author__= 'Du' __creation_time__= '2018/1/5 9:08' """ import os, math from PIL import Image def circle(): ima = Image.open("ball1.jpg").convert(

随机推荐