Wie man mit Python Fehler in Bildern repariert

王林
Freigeben: 2023-08-26 08:19:54
Original
1668 Leute haben es durchsucht

Wie man mit Python Fehler in Bildern repariert

Wie man mit Python Fehler in Bildern repariert

Einführung:
Im täglichen Leben stoßen wir häufig auf fehlerhafte Bilder wie Rauschen, Kratzer usw. im Bild. Diese Unvollkommenheiten können die Ästhetik des Bildes beeinträchtigen und in einigen Situationen, die eine präzise Verarbeitung erfordern, verhindern, dass wir die richtigen Informationen erhalten. Die Verwendung von Python zum Reparieren von Fehlern in Bildern ist eine effektive Methode. In diesem Artikel wird die Verwendung von Python zum Reparieren von Fehlern in Bildern vorgestellt und relevante Codebeispiele angehängt.

Schritt 1: Importieren Sie die erforderlichen Bibliotheken

Zuerst müssen wir die erforderlichen Bibliotheken importieren, einschließlich der folgenden:

cv2 importieren
numpy als np importieren
matplotlib.pyplot als plt importieren

Unter diesen ist cv2 OpenCV Bibliothek, für die Bildverarbeitung; numpy ist eine Bibliothek zur Verarbeitung von Arrays; matplotlib.pyplot wird für die Bildanzeige verwendet.

Schritt 2: Lesen Sie das Bild

Als nächstes müssen wir das Bild lesen, das repariert werden muss. Verwenden Sie die Funktion imread() in der cv2-Bibliothek, um das Bild zu lesen und als Numpy-Array zu speichern.

img = cv2.imread('image.jpg')

Schritt 3: Vorverarbeiten des Bildes

Bevor wir Fehler reparieren, müssen wir das Bild etwas vorverarbeiten. Zu den üblichen Vorverarbeitungsschritten gehören Rauschunterdrückung und Kantenextraktion.

Die Rauschunterdrückung kann mit der Funktion GaussianBlur() in der cv2-Bibliothek durchgeführt werden. Der Beispielcode lautet wie folgt:

img_blur = cv2.GaussianBlur(img, (5, 5), 0)

Das Extrahieren von Kanten kann mit der Funktion Canny() in der cv2-Bibliothek erfolgen. Der Beispielcode lautet wie folgt:

edges = cv2.Canny(img, Schwellenwert1, Schwellenwert2)

Schritt 4: Bestimmen Sie den fehlerhaften Bereich

Anhand der Vorverarbeitungsergebnisse können wir den fehlerhaften Bereich mithilfe einiger Methoden bestimmen. Zu den gängigen Methoden gehören Schwellenwertsegmentierung und Konturerkennung.

Die Schwellenwertsegmentierung kann mit der Funktion „threshold()“ in der cv2-Bibliothek durchgeführt werden. Der Beispielcode lautet wie folgt:

ret, img_thresh = cv2.threshold(img_gray, Schwellenwert, maxValue, cv2.THRESH_BINARY)

Die Konturerkennung kann mit der Funktion findContours() in der cv2-Bibliothek durchgeführt werden. Der Beispielcode lautet wie folgt:

contours, hierarchy = cv2.findContours(edges, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

Schritt 5: Defektreparatur

Mit den Informationen zu defekten Bereichen können wir diese Bereiche durch einige reparieren Algorithmen. Zu den gängigen Algorithmen gehören die Mittelwertfilterung und die Medianfilterung.

Mittelwertfilterung kann mit der Funktion „blur()“ in der cv2-Bibliothek durchgeführt werden. Der Beispielcode lautet wie folgt:

img_repair = cv2.blur(img, (5, 5))

Medianfilterung kann mit der Funktion medianBlur() in der cv2-Bibliothek durchgeführt werden. Der Beispielcode lautet wie folgt:

img_repair = cv2.medianBlur(img, 5)

Schritt 6: Reparaturergebnisse anzeigen

Abschließend können wir die Funktion imshow() in der Bibliothek matplotlib.pyplot verwenden, um die reparierten Ergebnisse anzuzeigen Bild. Der Beispielcode lautet wie folgt:

plt.imshow(img_repair[:,:,::-1])
plt.axis("off")
plt.show()

Vollversion des Beispielcodes:

cv2 importieren 5, 5), 0)

img_gray = cv2.cvtColor(img_blur, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(img_gray, 100, 200)

Bestimmen Sie den fehlerhaften Bereich

contours, hierarchy = cv2.findContours(edges , cv2.RETR_LIST, cv 2 .CHAIN_APPROX_SIMPLE)

Defektreparatur

img_repair = cv2.blur(img, (5, 5))


Reparaturergebnisse anzeigen

plt.imshow(img_repair[:,:,::- 1])

plt.axis ("off")

plt.show()

Fazit:

Dieser Artikel stellt die Schritte zur Verwendung von Python zum Beheben von Fehlern in Bildern vor und fügt relevante Codebeispiele bei. Mit diesen Methoden können wir Rauschen, Kratzer und andere Bildfehler effektiv reparieren und das Bild wieder in den normalen visuellen Effekt bringen. In praktischen Anwendungen können geeignete Vorverarbeitungsmethoden und Reparaturalgorithmen basierend auf spezifischen Anforderungen und Bildeigenschaften ausgewählt und basierend auf tatsächlichen Effekten angepasst und optimiert werden. Ich hoffe, dieser Artikel kann Ihnen beim Umgang mit fehlerhaften Bildern helfen.

Das obige ist der detaillierte Inhalt vonWie man mit Python Fehler in Bildern repariert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage