去除背景是一个比较复杂的工作,从简单到复杂依次为:

  1. 去除白色背景
  2. 去除单一背景(电视中常用的抠图)
  3. 去除复杂背景

Python中去除背景可以使用的程序包是PIL和CV2。本文只实现了使用PIL去除白色背景。另外的情况后面研究透彻后再发文章。
核心的方法是增加了Alpha通道,将此通道设置为0。

  1. PIL去除白色背景

from PIL import Image
import numpy as npthreshold=100
dist=5
img=Image.open("d:\\green.jpg").convert('RGBA') #增加Alpha通道
img.show()
arr=np.array(np.asarray(img)) #获取图像数据,使用了numpy
r,g,b,a=np.rollaxis(arr,axis=-1)img.show()
mask=((r>threshold)& (g>threshold)& (b>threshold)& (np.abs(r-g)<dist) #将接近白色背景的也替换掉& (np.abs(r-b)<dist)& (np.abs(g-b)<dist))
arr[mask,3]=0
img=Image.fromarray(arr,mode='RGBA') #转换为图像格式
img.show()

Python 去除白色背景相关推荐

  1. python黑色背景白色背景_用Python去除图像的黑色或白色背景实例

    用Python去除背景,得到有效的图像 此目的是为了放入深度学习计算中来减少计算量,同时突出特征,原图像为下图,命名为1.jpg,在此去除白色背景,黑色背景同理 需要对原图像进行的处理是去掉白色背景, ...

  2. python png 背景透明_去除白色背景得到透明背景png的示例代码

    [实例简介] 去除图像中的白色背景,得到透明背景的保留主体的png图像的python代码: [实例截图] 原图 去除白色背景后得到的图片 [核心代码] def remove_white_bg(img_ ...

  3. 用Python去除图像的黑色或白色背景

    用Python去除背景,得到有效的图像 此目的是为了放入深度学习计算中来减少计算量,同时突出特征,原图像为下图,命名为1.jpg,在此去除白色背景,黑色背景同理 需要对原图像进行的处理是去掉白色背景, ...

  4. python打开是黑底的-用Python去除图像的黑色或白色背景实例

    用Python去除背景,得到有效的图像 此目的是为了放入深度学习计算中来减少计算量,同时突出特征,原图像为下图,命名为1.jpg,在此去除白色背景,黑色背景同理 需要对原图像进行的处理是去掉白色背景, ...

  5. 用Python去除扫描型PDF中的水印

    内容概述 含水印扫描型PDF文件,其中某页如下图所示,用Python去除其页顶及页底的水印. 处理思路:PDF中的每一页的水印的相对位置基本相同,将PDF每一页输出成图片,然后进行图片编辑,用白色填充 ...

  6. python去除php、java、js、html、vue等类型注释字符方法实例

    本篇文章主要讲解:python去除php.java.js.html.vue等所类型注释字符方法实例 作者:任聪聪 可以处理php.java.python.js.html.vue.node.mysql等 ...

  7. python运行界面黑色_selenium+python 去除启动的黑色cmd窗口方法

    其实 selenium启动窗口的时候就是 使用了subprocess.Popen 启动的驱动程序的,只要在启动的时候加上启动不显示窗口的参数即可. 下面魔改开始O(∩_∩)O哈哈~ 修改代码 位于D: ...

  8. python去除字符串中表情字符

    python去除字符串中表情字符 用mysql存储数据时,"charset=utf8"默认状态下text字段不支持4字节的字符,而表情字符为4字节,如果表情字符非所需数据时可以将其 ...

  9. python去除空行_python中去掉空行的问题

    在python中处理空行时,经常会遇到一些问题.现总结经验如下: 1.遇到的空行如果只有换行符,直接使用=='\n'或者 len(line)==line.count('\n') 2.有多个空格+换行符 ...

  10. Python 去除图片中多种颜色或者单一颜色

    Python 去除图片的多种颜色,黑色除外(黑色为单一颜色,可以参考去除单一颜色进行识别,统计占比等等),代码如下: import cv2image = cv2.imread("D:\\CS ...

最新文章

  1. HTTP访问控制(CORS)
  2. java中countinue,.random(用于产生一个随机数)入门可看
  3. java小程序连接数据库_Java程序连接各种数据库的方法
  4. 需要大规模配置头文件的解决方案《vc》[转]
  5. 额外篇| Python制作词云
  6. nginx介绍(三) - 虚拟主机
  7. 企业微信小程序_授权登录接口获取用户userid
  8. MySQL日期处理函数实现博客按年月份进行分组
  9. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架
  10. 【React性能优化】 redux优化
  11. pixi 小游戏_手把手教你制作一款小游戏【超好玩!】
  12. 软件测试方法进行调优,性能测试调优过程
  13. 面试问题——fread和read的区别
  14. 机器学习之特征选择 (feature_selection)
  15. Atitit 信息安全体系 资料书籍表 1. 《信息安全原理与技术 2 1.1. 第2章 工具箱: 鉴别、 访问控制与加密 2 1.2. 第3章 程序和编程 漏洞 木马 病毒 3 1.3. We
  16. 强化学习用于电力系统决策与控制(一)——频率调整
  17. 如何加载和保存KML、GPX文件
  18. HTML5课题意义,毕业论文选题的意义万能套话
  19. 软考中级网络工程师证书如何查询?
  20. 平面方程(Plane Equation)求解方法

热门文章

  1. 改造家里的开关成为智能开关,保留原有开关控制,零火版,基础入门(一)
  2. PrintWriter out= response.getWriter()失效无法在前端弹出提示框以及乱码问题.
  3. php类 汉子转拼音 通讯录按字母顺序排列
  4. 163邮箱服务器注册不了怎么办,outlook邮箱添加163邮箱账户失败该怎么办?
  5. Gorm Model FindFirstWhere等查询函数的区别
  6. 如果能站在巨人的肩膀上
  7. tif怎么转化为jpg_tif怎么批量转换成jpg
  8. 计算机单位-字节到底是什么?(小白简单易懂)
  9. ActiveMQ笔记(一)
  10. Python3正则匹配re.split,re.serach,re.sub,re.finditer及re.findall函数用法详解