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