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)
Reparaturergebnisse anzeigen
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!