Heim >Backend-Entwicklung >Python-Tutorial >Bildfilterung in Python
Der Umgang mit lauten Bildern ist ein häufiges Problem, insbesondere bei Mobiltelefon- oder Kamera-Fotos mit niedriger Auflösung. In diesem Tutorial wird die Bildfilterungstechniken in Python unter Verwendung von OpenCV untersucht, um dieses Problem anzugehen.
Bildfilterung ist eine wichtige Bildverarbeitungstechnik, die zum Entfernen von Rauschen und unerwünschten Merkmalen verwendet wird, was zu einem klareren, verbesserten Bild führt. Es gibt zwei Hauptfiltertypen: linear (z. B. Mittelwert, Laplace) und nichtlinear (z. B. Median, Minimum, Maximum, Sobel). Jeder Filter dient einem bestimmten Zweck bei der Rauschreduzierung oder der Bildverstärkung.
Bildfilterung verwendet einen Filter oder eine Maske, typischerweise ein quadratisches Fenster mit gleichen Abmessungen. Dieses Fenster enthält numerische Koeffizienten, die den Effekt des Filters auf das Ausgangsbild bestimmen.
Die blur()
-Methode in OpenCV wendet einen mittleren Filter an. Das folgende Beispiel zeigt dies, was zu einem reibungsloseren Bild im Vergleich zum ursprünglichen lauten Eingang führt.
Gaußsche Unschärfe ist eine weitere Rauschreduktionstechnik. Während die zugrunde liegende Mathematik komplex ist, vereinfacht OpenCV seine Anwendung. Gaußsche Unschärfe kann jedoch scharfe Kanten verschwimmen.
Die bilateralFilter()
-Methode bietet eine Lösung mit einem Gaußschen Filter, das die Unterschiede in der Pixelintensität berücksichtigt. Dies bewahrt die Kanten besser als eine Standard -Gaußsche Unschärfe. Der folgende Code -Snippet zeigt seine Verwendung:
import cv2, argparse ap = argparse.ArgumentParser() ap.add_argument('-i', '--image', required=True, help='Path to the input image') args = vars(ap.parse_args()) image = cv2.imread(args['image']) processed_image = cv2.bilateralFilter(image, 9, 80, 80) cv2.imwrite('processed_image.png', processed_image) cv2.waitKey(0)
Um den Unterschied zu veranschaulichen, untersuchen wir ein Bild mit Textur und scharfen Kanten wie einem Plankenbild. Eine Standard -Gaußsche Unschärfe erweist die Kanten, während der bilaterale Filter schärfere Linien beibehält und gleichzeitig das Geräusch verringert.
Originalplankenbild:
Gaußsch verschwommenes Plankenbild:
bilateral gefiltertes Plankenbild:
openCV vereinfacht erweiterte Bildverarbeitungsaufgaben wie Filterung. Dieses Tutorial zeigt die Leistung und Erleichterung, diese Techniken zur Rauschreduzierung und zur Bildverstärkung zu verwenden.
Dieser Beitrag enthält Beiträge von Nitish Kumar, einem Webentwickler, der bei der Erstellung der E -Commerce -Website erfahren hat.
Das obige ist der detaillierte Inhalt vonBildfilterung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!