Python Pillow - Dodawanie filtrów do obrazu

Plik ImageFilter module zawiera definicje wstępnie zdefiniowanego zestawu filtrów, z którymi korzystaliśmy Image.filter()metoda. Filtry te służą do zmiany wyglądu i stylu obrazu.

Przykład

Poniższy przykład to filtrowanie obrazu -

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()

W powyższym programie użyliśmy rozszerzenia MinFilter()metoda, która jest używana do tworzenia minimalnego filtru. Wybiera najniższą wartość piksela w oknie o podanym rozmiarze.

ImageFilter.MinFilter(size=3)

Gdzie,

size - Rozmiar jądra w pikselach.

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, pokaże on oryginalny obraz, zamazany obraz i zamazany obraz za pomocą MinFilter przy użyciu standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original Image

Blurred Image

Image blurred with mini filter

Filtry

Obecna wersja biblioteki poduszek zapewnia poniżej wymieniony zestaw predefiniowanych filtrów ulepszających obraz.

  • BLUR

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SHARPEN

  • SMOOTH

  • SMOOTH_MORE

Przykład

Poniższy przykład w Pythonie stosuje filtr rozmycia na obrazie, zapisuje go i wyświetla za pomocą standardowego narzędzia do wyświetlania 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()

Wynik

W ten sam sposób do image.filter() możesz przekazać dowolny z następujących parametrów, aby uzyskać odpowiednie dane wyjściowe -

  • CONTOUR

  • DETAIL

  • EDGE_ENHANCE

  • EDGE_ENHANCE_MORE

  • EMBOSS

  • FIND_EDGES

  • SMOOTH

  • SMOOTH_MORE

  • SHARPEN

Metoda Python img.filter (CONTOUR)

Poniższy przykład w Pythonie stosuje filtr CONTOUR do podanego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, wyświetli się oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Metoda Python img.filter (DETAIL)

Poniższy przykład w Pythonie stosuje filtr DETAIL do podanego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, pokaże on oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Metoda Python img.filter (EDGE_ENHANCE)

Poniższy przykład w Pythonie stosuje filtr EDGE_ENHANCE do podanego obrazu -

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, pokaże on oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Metoda Python img.filter (EDGE_ENHANCE_MORE)

Poniższy przykład w Pythonie stosuje filtr EDGE_ENHANCE_MORE do podanego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, pokaże on oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Metoda Python img.filter (EMBOSS)

Poniższy przykład w Pythonie stosuje filtr EMBOSS do podanego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, wyświetli się oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Metoda Python img.filter (FIND_EDGES)

Poniższy przykład w Pythonie stosuje filtr FIND_EDGES do podanego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, wyświetli się oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Metoda Python img.filter (SMOOTH)

Poniższy przykład w Pythonie stosuje filtr SMOOTH do danego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, wyświetli się oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Metoda Python img.filter (SHARPEN)

Poniższy przykład w Pythonie stosuje filtr SHARPEN do podanego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, wyświetli się oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image

Poniższy przykład w Pythonie stosuje filtr SHARPEN do podanego obrazu.

Przykład

#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()

Wynik

Jeśli zapiszesz powyższy program i uruchomisz, wyświetli się oryginalny obraz i przefiltrowany obraz za pomocą standardowego narzędzia do wyświetlania PNG, w następujący sposób -

Original image

Filtered image