📅  最后修改于: 2020-11-07 07:49:28             🧑  作者: Mango
ImageFilter模块包含一组预定义的滤镜的定义,这些定义与Image.filter()方法一起使用。这些滤镜用于更改图像的外观。
下面的例子是过滤图像-
from PIL import Image, ImageFilter
im = Image.open('jungleSaf2.jpg')
im1 = im.filter(ImageFilter.BLUR)
im1.show()
im2 = im.filter(ImageFilter.MinFilter(3))
im2.show()
im3 = im.filter(ImageFilter.MinFilter) # same as MinFilter(3)
im3.show()
在上面的程序中,我们使用了MinFilter()方法,该方法用于创建最小过滤器。它在具有给定大小的窗口中选择最低的像素值。
ImageFilter.MinFilter(size=3)
哪里,
大小-内核大小,以像素为单位。
如果保存上述程序并执行,它将使用标准PNG显示实用程序使用MinFilter显示原始图像,模糊图像以及模糊图像,如下所示-
原始图片
影像模糊
用微型滤镜模糊的图像
当前版本的枕头库提供了以下预定义的图像增强过滤器集。
模糊
轮廓
详情
EDGE_ENHANCE
EDGE_ENHANCE_MORE
电磁波
寻找边缘
夏普
光滑
SMOOTH_MORE
以下Python示例将模糊滤镜应用于图像,将其保存并使用标准PNG显示实用程序将其显示-
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(BLUR)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
以相同的方式,可以将以下任何参数传递给image.filter()方法以获取相应的输出-
轮廓
详情
EDGE_ENHANCE
EDGE_ENHANCE_MORE
电磁波
寻找边缘
光滑
SMOOTH_MORE
夏普
以下Python示例将CONTOUR过滤器应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(CONTOUR)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将使用标准PNG显示实用程序显示原始图像和过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将DETAIL过滤器应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(DETAIL)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将显示原始图像,并使用标准PNG显示实用程序显示过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将EDGE_ENHANCE过滤器应用于给定图像-
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(EDGE_ENHANCE)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将显示原始图像,并使用标准PNG显示实用程序显示过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将EDGE_ENHANCE_MORE过滤器应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(EDGE_ENHANCE_MORE)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将显示原始图像,并使用标准PNG显示实用程序显示过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将EMBOSS过滤器应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(EMBOSS)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将使用标准PNG显示实用程序显示原始图像和过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将FIND_EDGES过滤器应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(FIND_EDGES)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将使用标准PNG显示实用程序显示原始图像和过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将SMOOTH滤镜应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(SMOOTH)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将使用标准PNG显示实用程序显示原始图像和过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将SHARPEN过滤器应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(SHARPEN)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将使用标准PNG显示实用程序显示原始图像和过滤后的图像,如下所示-
原始图片
过滤图像
以下Python示例将SHARPEN过滤器应用于给定图像。
#Import required image modules
from PIL import Image, ImageFilter
#Import all the enhancement filter from pillow
from PIL.ImageFilter import (
BLUR, CONTOUR, DETAIL, EDGE_ENHANCE, EDGE_ENHANCE_MORE,
EMBOSS, FIND_EDGES, SMOOTH, SMOOTH_MORE, SHARPEN
)
#Create image object
img = Image.open('images/cat.jpg')
#Applying the blur filter
img1 = img.filter(SHARPEN)
img1.save('images/ImageFilter_blur.jpg')
img1.show()
如果保存上述程序并执行,它将使用标准PNG显示实用程序显示原始图像和过滤后的图像,如下所示-
原始图片
过滤图像