Poduszka Python - Blur an Image
Rozmywanie obrazu można osiągnąć, zmniejszając poziom szumu w obrazie, stosując do niego filtr. Rozmycie obrazu jest jednym z ważnych aspektów przetwarzania obrazu.
Plik ImageFilter classw bibliotece poduszek udostępnia kilka standardowych filtrów obrazu. Filtry obrazu można zastosować do obrazu, wywołując metodęfilter() method obiektu Image z wymaganym typem filtru zdefiniowanym w klasie ImageFilter.
Istnieją różne techniki rozmywania obrazów, dlatego omówimy poniższe techniki.
Proste rozmycie
Rozmycie pudełkowe
rozmycie Gaussa
Wszystkie te trzy techniki będą wykorzystywać metodę „Image.filter ()” do stosowania filtru do obrazów.
Proste rozmycie
Nakłada efekt rozmycia na obraz, określony przez określone jądro lub macierz splotu.
Składnia
filter(ImageFilter.BLUR)
Przykład
#Import required Image library
from PIL import Image, ImageFilter
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
blurImage = OriImage.filter(ImageFilter.BLUR)
blurImage.show()
#Save blurImage
blurImage.save('images/simBlurImage.jpg')
Podczas wykonywania powyższy przykład generuje dwa standardowe okna narzędzi wyświetlania PNG (w tym przypadku windows Photos app).
Original image
Blurred image
Rozmycie pudełkowe
W tym filtrze używamy parametru „promień”. Promień jest wprost proporcjonalny do wartości rozmycia.
Składnia
ImageFilter.BoxBlur(radius)
Gdzie,
Radius - Rozmiar pudełka w jednym kierunku.
Radius 0 - oznacza brak rozmycia i zwraca ten sam obraz.
RRadius 1 & minnus; zajmuje 1 piksel w każdym kierunku, czyli łącznie 9 pikseli.
Przykład
#Import required Image library
from PIL import Image,
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
#Applying BoxBlur filter
boxImage = OriImage.filter(ImageFilter.BoxBlur(5))
boxImage.show()
#Save Boxblur image
boxImage.save('images/boxblur.jpg')
Wynik
Podczas wykonywania powyższy przykład generuje dwa standardowe okna narzędzi do wyświetlania PNG (w tym przypadku aplikacja Zdjęcia systemu Windows).
Original image
Blurred image
Rozmycie Gaussa
Ten filtr również wykorzystuje promień parametru i działa tak samo jak rozmycie prostokątne z pewnymi zmianami algorytmicznymi. Krótko mówiąc, zmiana wartości promienia wygeneruje różną intensywność obrazów „Gaussianblur”.
Składnia
ImageFilter.GaussianBlur(radius=2)
Gdzie,
Promień - promień rozmycia
Przykład
#Import required Image library
from PIL import Image, ImageFilter
#Open existing image
OriImage = Image.open('images/boy.jpg')
OriImage.show()
#Applying GaussianBlur filter
gaussImage = OriImage.filter(ImageFilter.GaussianBlur(5))
gaussImage.show()
#Save Gaussian Blur Image
gaussImage.save('images/gaussian_blur.jpg')
Wynik
Podczas wykonywania powyższy przykład generuje dwa standardowe okna narzędzi wyświetlania PNG (w tym przypadku windows Photos app).
Original image
Blurred image