PythonPillow-画像へのフィルターの追加

ザ・ ImageFilter module 事前定義された一連のフィルターの定義が含まれています。 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)

どこ、

size −カーネルサイズ(ピクセル単位)。

出力

上記のプログラムを保存して実行すると、元の画像、ぼやけた画像、および標準のPNG表示ユーティリティを使用したMinFilterでのぼやけた画像が次のように表示されます。

Original Image

Blurred Image

Image blurred with mini filter

フィルター

ピローライブラリの現在のバージョンは、以下に示す事前定義された画像強調フィルターのセットを提供します。

  • BLUR

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SHARPEN

  • SMOOTH

  • 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() メソッド次のパラメータのいずれかを渡して、それぞれの出力を取得できます-

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SMOOTH

  • SMOOTH_MORE

  • SHARPEN

Python img.filter(CONTOUR)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が次のように表示されます。

Original image

Filtered image

Python img.filter(DETAIL)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が表示されます。

Original image

Filtered image

Python img.filter(EDGE_ENHANCE)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が表示されます。

Original image

Filtered image

Python img.filter(EDGE_ENHANCE_MORE)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が表示されます。

Original image

Filtered image

Python img.filter(EMBOSS)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が次のように表示されます。

Original image

Filtered image

Python img.filter(FIND_EDGES)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が次のように表示されます。

Original image

Filtered image

Python img.filter(SMOOTH)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が次のように表示されます。

Original image

Filtered image

Python img.filter(SHARPEN)メソッド

次の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表示ユーティリティを使用してフィルタリングされた画像が次のように表示されます。

Original image

Filtered image

次の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表示ユーティリティを使用してフィルタリングされた画像が次のように表示されます。

Original image

Filtered image