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