如何使用 PIL 从图像中剪切自定义形状?

2023-11-22

我想截一张图,比如说:

enter image description here

使用另一张具有透明背景的图片,如下所示:

enter image description here

并得到如下结果:

enter image description here

如何使用 Python PIL/Pillow 实现此目的?或者任何其他库,但它必须是Python 的。


我们打电话吧source.png到第一张图像,并且mask.png到徽标™

你们的标志是透明的,但是是倒转的,所以透明度对我们来说没有用。另外,对于这种情况,当我们删除透明度时,透明区域几乎变成白色,因此我们需要对其进行阈值处理。

from PIL import Image, ImageOps

# Convert to grayscale
mask = Image.open('mask.png').convert('L')

# Threshold and invert the colors (white will be transparent)
mask = mask.point(lambda x: x < 100 and 255)

# The size of the images must match before apply the mask
img = ImageOps.fit(Image.open('source.png'),mask.size)

img.putalpha(mask) # Modifies the original image without return

img.save('result.png')

The picture once cutted

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PIL 从图像中剪切自定义形状? 的相关文章

随机推荐

  • AngularJS 在按钮单击时打开模式

    我正在尝试学习通过单击 AngularJS 中的按钮来打开模式对话框 但无法这样做 我检查了 chrome 控制台 但没有错误 另外 由于我正在学习 AngularJS 请建议当 chrome 控制台没有显示任何错误时该怎么做 这是我的代码
  • 在 Matlab 或 matplotlib 中根据法向量和点绘制平面

    如何从法向量和点在 matlab 或 matplotlib 中绘制平面 对于所有的复制 粘贴 这里是使用 matplotlib 的 Python 类似代码 import numpy as np import matplotlib pyplo
  • Qt:QAbstractItemModel 中的 setData 方法

    我是模型视图新手 我一直在关注本教程在检查文档的同时 我偶然发现了这个小细节 可以下载的教程代码hereQAbstractItemModel 类 此处为 QAbstractListModel 中有 setData 方法 其代码为 def s
  • 使用 JQuery,如何检测文本输入的值是否已更改而字段仍具有焦点?

    我注意到在发布此问题之前 之前曾在此主题上发布过类似的问题 但是在这种情况下 用户没有使用键盘与文本字段进行交互 在这种情况下 将文本字段绑定到 粘贴 行动或任何其他漂亮的建议在我的情况下都不起作用 我们的用户正在输入从条形码扫描的字符串值
  • 我在 Windows 窗体中的跨线程调用出了什么问题?

    我在使用 Windows 窗体应用程序时遇到问题 表单必须从另一个线程显示 所以在表单类中 我有以下代码 private delegate void DisplayDialogCallback public void DisplayDial
  • 如何动态调整 UITableView 高度?

    在我的应用程序中 我想在处于编辑模式时与非编辑模式时调整表格视图的高度 以便为表格视图下方的编辑控件腾出空间 这应该怎么做呢 我发现当另一个视图中有浮动表时 操作 bounds 属性可能会导致一些意外的行为 有时 当增加高度时 表格会向上扩
  • 带有字符串数组参数的 PowerShell 脚本的计划任务

    我创建了一个可以从 Management Shell 完美运行的 PowerShell 脚本 我正在尝试将其设置为在 Windows Server 2008 R2 中的计划任务中工作 但不确定如何传递字符串数组参数的参数 这是我的脚本的相关
  • 通过多路径刷图绘制 d3.js Focus+Context 时遇到问题

    我已经研究了几周了 似乎无法弄清楚如何绘制具有多个路径的下面的图表 通过刷图聚焦 上下文 我尝试创建一个 jsfiddle 但无法复制我得到的屏幕 此时 我所拥有的与原始图表类似 只是只有一条路径而不是区域 并且刷牙有效 基本上尝试将焦点图
  • 确定德州扑克牌局获胜者的算法

    好的 我正在为我的高级项目制作德州扑克人工智能 我已经创建了图形用户界面和投注 交易程序 但我已经达到了需要确定谁赢了手的部分 并且我不知道解决此问题的最佳方法 顺便说一句 我正在使用 python ATM 我有 2 个列表 一个用于 7
  • 如何使用命令行从私有 github 存储库下载单个原始文件?

    在 CI 服务器上 我想获取我们在 Github 上维护的配置文件 以便可以在多个作业之间共享 我试图通过curl获取这个文件 但是这些方法都失败了 我得到了404 As advised by the oAuth docs curl H A
  • 在启用加密文件系统的情况下从 C# 创建新目录

    有人在启用加密文件系统的情况下从 C 创建了新目录吗 此外 任何有关通过安装执行此操作的信息也会很有帮助 创建加密目录需要两个步骤 使用 Directory CreateDirectory 创建它 然后使用 Win32 函数 Encrypt
  • 我可以在 SQLAlchemy 中创建临时表而不附加到 Table._prefixes 吗?

    我想在 SQLAlchemy 中创建一个临时表 我可以建立一个CREATE TABLE声明与TEMPORARY通过调用子句table prefixes append TEMPORARY 反对Table对象 但这不如table select
  • 如何使用 JavaScript 设置 Chrome 扩展的文件下载位置?

    您好 我正在使用 Chrome 扩展程序下载选定的链接 但我无法设置下载位置 所有的url都下载到chrome的默认位置 我知道出于安全原因我们不能这样做 我们可以在 Chrome 扩展弹出窗口中提示目录选择器对话框吗 用户可以从这里选择下
  • “将 varchar 值‘NULL’转换为数据类型 int 时转换失败”

    当我将记录插入长表时 出现错误 将 varchar 值 NULL 转换为数据类型 int 时转换失败 如何确定哪一列出现错误 该表有很多字段和数百万条记录 当我尝试将 NULL 字符串插入整数列中的某处时 每次迭代都需要 10 分钟才能完成
  • django、python 和链接加密

    我需要安排某种加密来生成用户特定的链接 用户将单击此链接 在其他视图中 带有加密字符串的相关链接将被解密并返回结果 为此 我需要某种加密函数 它消耗一个数字 或字符串 它是绑定到用户帐户的所选项目的主键 还消耗某种种子并生成将被解密的加密代
  • 如何使用 JMESPath 将两个数组(“keys”和“values”)组合成一个对象?

    我有一个包含两个数组的 JSON 对象 一个keys数组和一values数组 两者长度相同 使用 jmespath 我想使用以下值构造一个新对象keys数组作为键和值values数组作为值 例如array combine in PHP 例如
  • 解析 html 时为什么有时需要 item.text 而其他则需要 item.text_content()

    还在学习lxml 我发现有时无法使用 item text 从树中获取项目的文本 如果我使用 item text content 我就可以开始了 我还不确定我明白为什么 任何提示将不胜感激 好吧 我不确定如何在不让您处理文件的情况下提供示例
  • Swagger错误Springboot无法解析名称为“forward:/swagger-ui/index.html”的视图

    Springboot 2 5 13 swagger2 实现 io springfox springfox boot starter 3 0 0 实现 io springfox springfox swagger ui 3 0 0 运行时错误
  • ARC 下的 stringWithFormat 与 initWithFormat

    stringWithFormat 是一个类方法NSString 并返回一个自动释放的字符串 initWithFormat 是一个实例方法 在 ARC 之前 程序员必须负责返回对象的内存管理 如果我们打开ARC 这两种方法有什么区别 With
  • 如何使用 PIL 从图像中剪切自定义形状?

    我想截一张图 比如说 使用另一张具有透明背景的图片 如下所示 并得到如下结果 如何使用 Python PIL Pillow 实现此目的 或者任何其他库 但它必须是Python 的 我们打电话吧source png到第一张图像 并且mask