Wenden Sie Median und Wiener-Filter auf Bilder in Python an

In verschiedenen Fällen müssen Sie Bilder entrauschen, um ihre visuelle Qualität zu verbessern. Dies ist nützlich, wenn Sie die Gesamtklarheit Ihrer Bilder verbessern möchten. Außerdem wird die Rauschunterdrückung verwendet, um Bilder vor der weiteren Analyse wie Erkennung, Segmentierung usw. vorzuverarbeiten. Median und Wiener-Filter werden üblicherweise zum Entrauschen und Glätten der Bilder verwendet. Schauen wir uns also an, wie man in Python Median und Wiener-Filter auf Bilder anwendet.

Python Bibliothek zum Anwenden von Median und Wiener bildfiltern

Um die Median und Wiener-Filter auf Bilder anzuwenden, verwenden wir Aspose.Imaging for Python – eine leistungsstarke Bildverarbeitungsbibliothek, mit der Sie Bilder mühelos bearbeiten können. Um die Bibliothek zu verwenden, können Sie sie entweder herunterladen oder mit dem folgenden Befehl installieren.

> pip install aspose-imaging-python-net 

Wenden Sie den Medianfilter auf ein Bild in Python an

Der Medianfilter ist eine häufig verwendete Rauschunterdrückungsmethode, die eine nichtlineare digitale Filtertechnik verwendet. Im Folgenden finden Sie die Schritte zum Anwenden eines Medianfilters auf ein Bild in Python.

  • Laden Sie zunächst das Bild mit der Methode Image.load().
  • Anschließend wandeln Sie das Bild in den RasterImage-Typ um.
  • Erstellen Sie eine Instanz der MedianFilterOptions Klasse und initialisieren Sie sie mit der Größe des Rechtecks.
  • Wenden Sie den Medianfilter mit der Methode RasterImage.filter(Rectangle, MedianFilterOptions) an.
  • Speichern Sie abschließend das gefilterte Bild mit der Methode RasterImage.save().

Das folgende Codebeispiel zeigt, wie man in Python einen Medianfilter auf ein Bild anwendet.

import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import MedianFilterOptions
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# Laden Sie das verrauschte Bild 
with Image.load(os.path.join(data_dir, "template.gif")) as image:
	# Wandeln Sie das Bild in RasterImage um
	if aspycore.is_assignable(image, RasterImage):
		raster_image = aspycore.as_of(image, RasterImage)
		# Erstellen Sie eine Instanz der MedianFilterOptions Klasse und legen Sie die Größe fest, wenden Sie den MedianFilterOptions-Filter auf das RasterImage Objekt an und speichern Sie das resultierende Bild
		options = MedianFilterOptions(4)
		raster_image.filter(image.bounds, options)
		image.save(os.path.join(data_dir, "result.gif"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.gif"))

Unten sehen Sie das Bild vor und nach der Anwendung des Medianfilters.

Wenden Sie den Medianfilter auf Image Python an

Wenden Sie den Gauß-Wiener-Filter auf ein Bild in Python an

Gauss Wiener ist eine weitere häufig verwendete Methode zur Verbesserung der Klarheit und Reduzierung von Bildrauschen. Schauen wir uns die Schritte an, die zum Anwenden des Gauß-Wiener-Filters auf ein Bild in Python erforderlich sind.

  • Laden Sie zunächst das Bild mit der Methode Image.load().
  • Anschließend wandeln Sie das Bild in den RasterImage-Typ um.
  • Erstellen Sie eine Instanz der GaussWienerFilterOptions Klasse und initialisieren Sie sie mit der Radiusgröße und dem Glättungswert.
  • (Optional) Um ein Graustufenbild zu erhalten, setzen Sie die Eigenschaft GaussWienerFilterOptions.grayscale auf true.
  • Wenden Sie den Gauß-Wiener-Filter mit der Methode RasterImage.filter(Rectangle, GaussWienerFilterOptions) an.
  • Speichern Sie abschließend das resultierende Bild mit der Methode RasterImage.save().

Das folgende Codebeispiel zeigt, wie man in Python einen Gauß-Wiener-Filter auf ein Bild anwendet.

import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import GaussWienerFilterOptions
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# Laden Sie das Bild
with Image.load(os.path.join(data_dir, "template.jpg")) as image:
	# Wandeln Sie das Bild in RasterImage um
	if aspycore.is_assignable(image, RasterImage):
		raster_image = aspycore.as_of(image, RasterImage)
		# Erstellen Sie eine Instanz der GaussWienerFilterOptions Klasse und legen Sie die Radiusgröße und den Glättungswert fest.
		options = GaussWienerFilterOptions(12, 3)
		options.grayscale = True
		# Wenden Sie den MedianFilterOptions-Filter auf das RasterImage Objekt an und speichern Sie das resultierende Bild
		raster_image.filter(image.bounds, options)
		image.save(os.path.join(data_dir, "result.jpg"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.jpg"))

Unten sehen Sie das Bild vor und nach der Anwendung des Gauß-Wiener-Filters mit der Graustufenoption.

Wenden Sie den Gauß-Weiner-Filter auf die Grauskalierung von Bildern an

Das Folgende ist das Bild vor und nach der Anwendung des Gauß-Wiener-Filters ohne Graustufen.

Wenden Sie den Gauß-Weiner-Farbfilter auf das Bild an

Motion Wiener Filter für ein Bild in Python

Der Motion-Wiener-Filter wird verwendet, um die durch Bewegungsunschärfe verursachte Unschärfe oder Verschlechterung zu reduzieren. Diese Art von Unschärfe entsteht aufgrund der relativen Bewegung zwischen der Kamera und dem Objekt. Im Folgenden finden Sie die Schritte zum Anwenden des Motion-Wiener-Filters auf ein Bild in Python.

  • Laden Sie zunächst das Bild mit der Methode Image.load().
  • Anschließend wandeln Sie das Bild in den RasterImage-Typ um.
  • Erstellen Sie eine Instanz der MotionWienerFilterOptions Klasse und initialisieren Sie sie mit Länge, Glättungswert und Winkel.
  • Wenden Sie den Motion-Wiener-Filter mit der Methode RasterImage.filter(Rectangle, MotionWienerFilterOptions) an.
  • Speichern Sie abschließend das resultierende Bild mit der Methode RasterImage.save().

Das folgende Codebeispiel zeigt, wie man in Python einen Motion-Wiener-Filter auf ein Bild anwendet.

import aspose.pycore as aspycore
from aspose.imaging import Image, RasterImage
from aspose.imaging.imagefilters.filteroptions import MotionWienerFilterOptions
import os


if 'TEMPLATE_DIR' in os.environ:
	templates_folder = os.environ['TEMPLATE_DIR']
else:
	templates_folder = r"C:\Users\USER\Downloads\templates"

delete_output = 'SAVE_OUTPUT' not in os.environ
data_dir = templates_folder
# Laden Sie das Bild
with Image.load(os.path.join(data_dir, "template.gif")) as image:
	# Wandeln Sie das Bild in RasterImage um
	if aspycore.is_assignable(image, RasterImage):
		raster_image = aspycore.as_of(image, RasterImage)
		# Erstellen Sie eine Instanz der MotionWienerFilterOptions Klasse und legen Sie die Länge, den Glättungswert und den Winkel fest.
		options = MotionWienerFilterOptions(50, 9, 90)
		options.grayscale = True
		# Wenden Sie den MedianFilterOptions-Filter auf das RasterImage Objekt an und speichern Sie das resultierende Bild
		raster_image.filter(image.bounds, options)
		image.save(os.path.join(data_dir, "result.gif"))

if delete_output:
	os.remove(os.path.join(data_dir, "result.gif"))
Wenden Sie den Motion-Weiner-Filter auf das Bild in Python an

Kostenlose Python bildfilterbibliothek

Sie können eine kostenlose temporäre Lizenz erhalten und Median und Wiener-Filter auf Bilder anwenden, ohne dass es zu Einschränkungen bei der Auswertung kommt.

Kostenlose Online bildbearbeitungs-App

Verwenden Sie unser kostenloses webbasiertes Bildbearbeitungstool, um Ihre Bilder online zu bearbeiten. Dieser Bildeditor nutzt Aspose.Imaging for Python und fordert Sie nicht auf, ein Konto zu erstellen.

Abschluss

In diesem Artikel haben Sie gelernt, wie Sie in Python Median und Wiener-Filter auf Bilder anwenden. Die Schritte und Codebeispiele haben gezeigt, wie verschiedene Arten von Filtern angewendet werden, um Bilder programmgesteuert zu entrauschen. Darüber hinaus haben wir erläutert, wie Sie das Rauschen sich bewegender Objekte in einem Bild mithilfe eines Motion-Wiener-Filters reduzieren können. Schließlich haben wir Ihnen eine Online bildbearbeitungs-App zur Verfügung gestellt, die völlig kostenlos ist und die Sie ohne Anmeldung nutzen können.

Weitere Informationen zur Python bildverarbeitungsbibliothek finden Sie in der Dokumentation. Sie können uns Ihre Fragen auch über unser Forum mitteilen.

Siehe auch