- Python Pillow 教程
- Python Pillow - 首页
- Python Pillow - 概述
- Python Pillow - 环境设置
- 基本图像操作
- Python Pillow - 图像处理
- Python Pillow - 调整图像大小
- Python Pillow - 翻转和旋转图像
- Python Pillow - 裁剪图像
- Python Pillow - 为图像添加边框
- Python Pillow - 识别图像文件
- Python Pillow - 合并图像
- Python Pillow - 剪切和粘贴图像
- Python Pillow - 滚动图像
- Python Pillow - 在图像上写入文本
- Python Pillow - ImageDraw 模块
- Python Pillow - 连接两张图像
- Python Pillow - 创建缩略图
- Python Pillow - 创建水印
- Python Pillow - 图像序列
- Python Pillow 颜色转换
- Python Pillow - 图像上的颜色
- Python Pillow - 使用颜色创建图像
- Python Pillow - 将颜色字符串转换为 RGB 颜色值
- Python Pillow - 将颜色字符串转换为灰度值
- Python Pillow - 通过更改像素值来更改颜色
- 图像处理
- Python Pillow - 降噪
- Python Pillow - 更改图像模式
- Python Pillow - 图像合成
- Python Pillow - 使用 Alpha 通道
- Python Pillow - 应用透视变换
- 图像滤镜
- Python Pillow - 为图像添加滤镜
- Python Pillow - 卷积滤镜
- Python Pillow - 模糊图像
- Python Pillow - 边缘检测
- Python Pillow - 浮雕图像
- Python Pillow - 增强边缘
- Python Pillow - 逆向锐化蒙版滤镜
- 图像增强和校正
- Python Pillow - 增强对比度
- Python Pillow - 增强锐度
- Python Pillow - 增强色彩
- Python Pillow - 校正色彩平衡
- Python Pillow - 去噪
- 图像分析
- Python Pillow - 提取图像元数据
- Python Pillow - 识别颜色
- 高级主题
- Python Pillow - 创建动画 GIF
- Python Pillow - 批量处理图像
- Python Pillow - 转换图像文件格式
- Python Pillow - 为图像添加填充
- Python Pillow - 颜色反转
- Python Pillow - 使用 NumPy 进行机器学习
- Python Pillow 与 Tkinter BitmapImage 和 PhotoImage 对象
- Image 模块
- Python Pillow - 图像混合
- Python Pillow 有用资源
- Python Pillow - 快速指南
- Python Pillow - 函数参考
- Python Pillow - 有用资源
- Python Pillow - 讨论
Python Pillow - 浮雕图像
一般来说,浮雕用于在纸张或卡片上创建凸起的浮雕图像以达到三维效果,在 19 世纪,英国邮政服务就曾广泛使用这种工艺为邮票增添优雅气息。此过程涉及凸起图像、设计或文本的某些部分,以创建三维效果。
在图像处理和计算机图形学中,图像浮雕是一种技术,其中图像中的每个像素都会根据原始图像的明暗边界转换为高光或阴影版本。对比度低的区域将替换为灰色背景。生成的浮雕图像有效地表示原始图像中每个位置的颜色变化率。将浮雕滤镜应用于图像通常会产生类似于纸张或金属浮雕的原始图像的输出,因此得名。
Python 的 Pillow 库在 ImageFilter 模块中提供了几个标准图像滤镜,可以通过调用 image.filter() 方法对图像执行不同的滤镜操作。在本教程中,我们将了解 ImageFilter 模块提供的浮雕滤镜的工作原理。
使用 Image.filter() 方法应用 ImageFilter.EMBOSS 内核滤镜
ImageFilter.EMBOSS 滤镜是 Pillow 库当前版本中提供的内置滤镜选项之一,用于在图像中创建浮雕效果。
以下是应用图像浮雕的步骤:
使用 Image.open() 函数加载输入图像。
将 filter() 函数应用于加载的 Image 对象,并将 ImageFilter.EMBOSS 作为函数的参数提供。该函数将返回浮雕图像作为 PIL.Image.Image 对象。
示例
这是一个使用 Image.filter() 方法和 ImageFilter.EMBOSS 内核滤镜的示例。
from PIL import Image, ImageFilter # Load an input image input_image = Image.open("Images/TP logo.jpg") # Apply an emboss effect to the image embossed_result = input_image.filter(ImageFilter.EMBOSS) # Display the input image input_image.show() # Display the modified image with the emboss effect embossed_result.show()
输入图像
输出图像
带有浮雕效果的输出滤镜图像:
自定义 EMBOSS 滤镜以向浮雕图像添加深度和方位角
在 Pillow 库的源代码中,我们可以在“ImageFilter.py”模块中观察到 EMBOSS 类。此类表示浮雕滤镜,并提供了一种创建图像浮雕效果的基本方法。
# Embossing filter. class EMBOSS(BuiltinFilter): name = "Emboss" # fmt: off filterargs = (3, 3), 1, 128, ( -1, 0, 0, 0, 1, 0, 0, 0, 0, )
该滤镜通过逐像素将矩阵应用于图像来操作。矩阵包含确定应用于每个像素的变换的值。通过修改矩阵,您可以控制浮雕效果的方位角和强度。
矩阵是一个 3x3 网格,其中每个元素对应于当前像素及其周围像素。中心值表示正在处理的当前像素。该滤镜根据矩阵中它们的权重组合这些值以创建变换后的像素。您可以通过调整缩放和偏移参数来自定义滤镜,这些参数会影响效果的整体强度。
示例
以下是一个演示如何将自定义浮雕滤镜应用于图像的示例,允许您通过调整各种参数来控制浮雕效果的外观。
from PIL import Image, ImageFilter # Open the input image image = Image.open('Images/TP logo.jpg') # modify the filterargs such as scale, offset and the matrix ImageFilter.EMBOSS.filterargs=((3, 3), 2, 150, (0, 0, 0, 0, 1, 0, -2, 0, 0)) # Apply an emboss effect to the image embossed_result = image.filter(ImageFilter.EMBOSS) # Display the input image image.show() # Display the modified image with the emboss effect embossed_result.show()
输入图像
输出图像
带有自定义浮雕效果的输出滤镜图像: