Python-Kissen - Verwischen Sie ein Bild

Das Verwischen eines Bildes kann durch Verringern des Rauschpegels im Bild durch Anwenden eines Filters auf ein Bild erfolgen. Bildunschärfe ist einer der wichtigen Aspekte der Bildverarbeitung.

Das ImageFilter classIn der Kissenbibliothek finden Sie mehrere Standardbildfilter. Bildfilter können durch Aufrufen von auf ein Bild angewendet werdenfilter() method des Bildobjekts mit dem erforderlichen Filtertyp, wie in der ImageFilter-Klasse definiert.

Es gibt verschiedene Techniken, um Bilder zu verwischen, und wir werden die unten genannten Techniken diskutieren.

  • Einfache Unschärfe

  • Box Unschärfe

  • Gaußsche Unschärfe

Alle diese drei Techniken verwenden die Methode 'Image.filter ()', um den Filter auf Bilder anzuwenden.

Einfache Unschärfe

Es wendet einen Unschärfeeffekt auf das Bild an, wie durch einen bestimmten Kernel oder eine Faltungsmatrix angegeben.

Syntax

filter(ImageFilter.BLUR)

Beispiel

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

Beim Ausführen des obigen Beispiels werden die beiden Standardfenster des PNG-Anzeigeprogramms (in diesem Fall Fenster) generiert Photos App).

Original image

Blurred image

Box Unschärfe

In diesem Filter verwenden wir 'Radius' als Parameter. Der Radius ist direkt proportional zum Unschärfewert.

Syntax

ImageFilter.BoxBlur(radius)

Wo,

  • Radius - Größe der Box in eine Richtung.

  • Radius 0 - bedeutet keine Unschärfe und gibt das gleiche Bild zurück.

  • RRadius 1 & minnus; nimmt 1 Pixel in jede Richtung, dh insgesamt 9 Pixel.

Beispiel

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

Ausgabe

Beim Ausführen generiert das obige Beispiel die beiden Standardfenster des PNG-Anzeige-Dienstprogramms (in diesem Fall die Windows-Foto-App).

Original image

Blurred image

Gaußsche Unschärfe

Dieser Filter verwendet auch den Parameterradius und funktioniert mit einigen algorithmischen Änderungen genauso wie Box Blur. Kurz gesagt, wenn Sie den Radiuswert ändern, wird eine unterschiedliche Intensität der Gaußschen Unschärfebilder erzeugt.

Syntax

ImageFilter.GaussianBlur(radius=2)

Wo,

  • Radius - Unschärferadius

Beispiel

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

Ausgabe

Beim Ausführen des obigen Beispiels werden die beiden Standardfenster des PNG-Anzeigeprogramms (in diesem Fall Fenster) generiert Photos App).

Original image

Blurred image