我正在尝试将下图中的某些矩形区域转换为白色或透明。

我可以使用以下命令使用ImageMagick进行创建,该命令首先使所需的颜色透明,最后使用“取反”将其余颜色转换为黑色。

convert input.png \

-transparent '#4B8DF8' \

-transparent '#27A9E3' \

-transparent '#2295C9' \

-transparent '#E7191B' \

-transparent '#C91112' \

-transparent '#28B779' \

-transparent '#17A769' \

-transparent '#852B99' \

-transparent '#751E88' \

-transparent '#D84A38' \

-transparent '#B4CEF8' \

-transparent '#17A76A' \

-transparent '#CA1112' \

-transparent '#2296CA' \

-transparent '#DDE8FA' \

-alpha extract -negate out_convert.png

到目前为止,我拥有的Python / Wand脚本是这样的:

from wand.image import Image

with Image(filename='input.png') as img:

img.transparent_color('#4B8DF8', alpha=0.0)

img.transparent_color('#27A9E3', alpha=0.0)

img.transparent_color('#2295C9', alpha=0.0)

img.transparent_color('#E7191B', alpha=0.0)

img.transparent_color('#C91112', alpha=0.0)

img.transparent_color('#28B779', alpha=0.0)

img.transparent_color('#17A769', alpha=0.0)

img.transparent_color('#852B99', alpha=0.0)

img.transparent_color('#751E88', alpha=0.0)

img.transparent_color('#D84A38', alpha=0.0)

img.transparent_color('#B4CEF8', alpha=0.0)

img.transparent_color('#17A76A', alpha=0.0)

img.transparent_color('#CA1112', alpha=0.0)

img.transparent_color('#2296CA', alpha=0.0)

img.transparent_color('#DDE8FA', alpha=0.0)

img.negate()

img.save(filename='out_python.png')

在下面,我显示了我使用convert命令得到的输出(仅黑色和白色)和带有python/wand脚本的输出(除了黑色和白色以外,它还有一些其他颜色)。

为了获得与ImageMagick相同的输出,脚本中缺少什么?Wand是一个很好的python库,还是可以用另一个库完成?

解决方案

您只需在ImageMagick中将图像阈值化,即可将所有颜色(黑色)转换为白色。

convert rectangles.png -threshold 0 rectangles2.png

或者只是将所有颜色变成白色

convert rectangles.png -fill white +opaque white rectangles3.png

或者只是将图像着色为白色

convert rectangles.png -fill white -colorize 100 rectangles4.png

我会误会你的问题吗?

如果您已识别所有颜色,但是在您的代码中它们并未转换为白色,那是因为某些颜色略有不同。因此,只需在第一个-transparent命令之前添加-fuzz XX%。尝试XX = 0%开始并根据需要增加。

加成:

我怀疑这就是您想要的。你近了您只需要添加一些模糊值即可。但是我没有使它透明,而是使用opaque_fill()直接转换为白色。

输入:

from wand.image import Image

from wand.display import display

with Image(filename='color_rectangles.png') as img:

img.opaque_paint(target='#5f8bfc', fill='white', fuzz=0.30*img.quantum_range, invert=False)

img.opaque_paint(target='#43ad49', fill='white', fuzz=0.30*img.quantum_range, invert=False)

img.opaque_paint(target='#831d98', fill='white', fuzz=0.30*img.quantum_range, invert=False)

img.save(filename='color_rectangles_fill_white.png')

display(img)

请注意,人们可能只使用0.05的quantum_range因子并更改了大多数颜色,但是由于在绘制框时使用了抗锯齿功能,因此您需要尽可能增加它的数量,以在不更改其他颜色的情况下删除轮廓。

python 把图片白色部分变透明_如何将图像区域转换为白色或透明?相关推荐

  1. python 将图片旋转多个角度_【技术】把你的朋友变成表情包?Python:So easy

    ↑↑↑关注后"星标"简说Python 人人都可以简单入门Python.爬虫.数据分析 源自:Python学习与数据挖掘 在日常生活中,我们经常会存取一些朋友们的丑照,在这个项目中, ...

  2. python画黑白线条_将黑白图像完全转换为一组线(也称为仅使用线进行矢量化)...

    我有许多黑白图像,并希望将它们转换为一组线,这样我就可以从这些线完全或至少接近完全重建原始图像.换句话说,我正在尝试将图像矢量化为一组线. 我已经看过HoughLinesTransform,但是它并没 ...

  3. Python修改图片像素值(变彩色为黑白)

    如何使用python将彩图变为黑白图? 以RGB图片为例,其色彩展现是依靠这像素点上的像素值,正是这些数值使图片绚烂多彩,同时,我们也知道,像素值的范围为0-255,其中0为黑色,255为白色,那么我 ...

  4. python下载图片被覆盖了怎么办_为什么我的图片下载并用python编写后会被破坏?...

    前言 这是我在stackoverflow上的第一篇文章,所以如果我在某个地方搞砸了,我很抱歉.我搜索了互联网和stackoverflow寻找解决我的问题的方法,但我什么也没找到.在 形势 我正在做的是 ...

  5. python 设置图片x轴带单位_用Python帮你上马,哪里无码打哪里

    来自公众号:Python专栏 目录 0 引言 1 环境 2 需求分析 3 代码实现 4 代码全景展示 5 后记 0 引言 所谓的像素图,就是对图像做一个颗粒化的效果,使其产生一种妙不可言的朦胧感.费话 ...

  6. 用python把图片换成蓝底_详解Python给照片换底色(蓝底换红底)

    现在网上出现了很多在线换底色的网页版工具是这么做的呢?其实用Python就可以实现. 环境要求 Python3 numpy函数库 opencv库 安装 下载适应版本的numpy函数库,我电脑是WIN1 ...

  7. python给图片加滤镜的方程_清明节来了,我们用Python给《清明上河图》加了个滤镜...

    原标题:清明节来了,我们用Python给<清明上河图>加了个滤镜 导读:过几天就是清明节了.传统节日,特别是一个放假的传统节日,我觉得有必要安排一下.最近在研究查找表以及滤镜的实现,正好赶 ...

  8. python将图片转换成动漫_如何把照片变成手绘动漫化?

    12/10更新送福利 知乎专供,虎课网7天全站通VIP,全站5w+视频教程随意看!(当然也包括回答中的所有视频链接) ============================== 一.用电脑PS做 点 ...

  9. python给图片加滤镜的方程_纯Python综合图像处理小工具(4)自定义像素级处理(剪纸滤镜)...

    上一节介绍了python PIL库自带的10种滤镜处理,现成的库函数虽然用起来方便,但是对于图像处理的各种实际需求,还需要开发者开发自定义的滤镜算法.本文将给大家介绍如何使用PIL对图像进行自定义的像 ...

  10. php改变图片大小png背景变黑,php – 当将透明背景的PNG图像调整大小/转换为JPEG时,如何用白色替换黑色背景...

    我正在使用一个脚本,让用户上传图像.脚本调整大小并将图像转换为JPEG. 我遇到的问题是上传透明度的PNG时,生成的JPEG图像是透明度为黑色的图像. 如何编辑下面的脚本来替换黑色的白色?它已经为GI ...

最新文章

  1. 白化(预处理步骤)【转】
  2. UISlider 滑竿控件
  3. NineImageForCircleFriends朋友圈九宫格
  4. 错误:将字符串分配给C中的char变量| 常见的C程序错误
  5. java连接数据库 oracle,Oracle数据库之一分钟教你学会用java连接Oracle数据库
  6. 师大校园网迅雷解封软件 之 配置QQ旋风2
  7. linux下的工作目录切换实现
  8. visio2019安装教程
  9. html设置字体 圆体,css font-family字体大合集
  10. 分享一个不错的数据分析实战案例【全程附图】EXCEL
  11. python图像风格迁移教程_Python+OpenCV图像风格迁移的实现方法讲解
  12. 大合集!近两年目标跟踪资源全汇总(论文、模型代码、优秀实验室)
  13. 先进的半导体晶圆清洗技术
  14. java实现excel导入数据库
  15. 关于图片轮播图的一个简单实例 以及实例中发现问题
  16. 1080Ti+windows7和1080Ti+windows10的区别
  17. dedecms织梦后台登录一直提示验证码错误
  18. 一年的第多少周+一个月的第多少天+一周的第多少天
  19. Photoshop从入门到精通所有视频教程(43G)以及素材资料免费拿
  20. 安卓机更新系统会卡吗_安卓手机系统“越更新越卡”?或许和这4个原因有关,早看早知道...

热门文章

  1. 苹果笔记本装Windows系统
  2. ie浏览器点击无法打开问题【亲测有效哦】
  3. java面试宝典及答案
  4. Mac 安装 Icarus-Verilog 报错解决方案参考
  5. ODL Transaction
  6. python画彩虹圈_javascript – 如何使用HTML5画布生成彩虹圈?
  7. python爬取百思不得姐视频代码
  8. 使用java自动下载网易云音乐
  9. 使用微软TTS语音引擎实现文本朗读
  10. 金格WebOffice2015-----vue项目