Heim > Backend-Entwicklung > Python-Tutorial > Was ist die Operationsmethode der Morphologie in Python+OpenCV?

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

WBOY
Freigeben: 2023-05-28 15:16:06
nach vorne
1478 Leute haben es durchsucht

1. Korrosion und Ausdehnung 1 Korrosionsrunde ~ (Iterationen = 1)

import cv2
import numpy as np

img = cv2.imread('DataPreprocessing/img/dige.png')

cv2.imshow("img", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Korrosionsergebnis-Anzeigebild 2:

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

Die Wirkung mehrerer Korrosionskreise und das Korrosionsprinzip

kernel = np.ones((3, 3), np.uint8)
erosion = cv2.erode(img, kernel, iterations=1)

cv2.imshow('erosion', erosion)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

pie.png

Originalbild 3:

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

Korrosionsprinzip, bei dem das Korrosionsprinzip des Filters gilt: Je größer die Größe, desto größer der Korrosionsgrad

Abbildung 4

:

pie = cv2.imread('DataPreprocessing/img/pie.png')

cv2.imshow('pie', pie)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Anzeige von drei Ergebnissen kreisförmiger KorrosionWas ist die Operationsmethode der Morphologie in Python+OpenCV?Abbildung 5:

1.2 ErweiterungsvorgangWas ist die Operationsmethode der Morphologie in Python+OpenCV?

kernel = np.ones((30, 30), np.uint8)
erosion_1 = cv2.erode(pie, kernel, iterations=1)
erosion_2 = cv2.erode(pie, kernel, iterations=2)
erosion_3 = cv2.erode(pie, kernel, iterations=3)
res = np.hstack((erosion_1, erosion_2, erosion_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Vor der Erweiterung wurde in Abbildung 2 festgestellt, dass die Linien dicker wurden. Die Linien sind im Vergleich zum Originalbild fast gleich, aber das Rauschen dieser langbärtigen Geräte ist verschwunden

Bild 6 :

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

Der Effekt der mehrmaligen Erweiterung des Kreises und das Erweiterungsprinzip sind das Gegenteil von Korrosion. Der Filter mit weißen Flecken wird alle weiß

kernel = np.ones((3, 3), np.uint8)
dige_dilate = erosion
dige_dilate = cv2.dilate(erosion, kernel, iterations=1)

cv2.imshow('dilate', dige_dilate)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Ergebnisse der dreifachen Erweiterung ,

Abbildung 7:

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

2. Öffnungsvorgang und Schließvorgang

2.1 Öffnungsvorgang

pie = cv2.imread('DataPreprocessing/img/pie.png')

kernel = np.ones((30, 30), np.uint8)
dilate_1 = cv2.dilate(pie, kernel, iterations=1)
dilate_2 = cv2.dilate(pie, kernel, iterations=2)
dilate_3 = cv2.dilate(pie, kernel, iterations=3)
res = np.hstack((dilate_1, dilate_2, dilate_3))
cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren
Ändern Sie das Originalbild 1, korrodieren Sie zuerst, erweitern Sie es dann und erhalten Sie das Ergebnis des ÖffnungsvorgangsAbbildung 8:

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

2.2 Geschlossener Vorgang

# 开:先腐蚀,再膨胀
img = cv2.imread('DataPreprocessing/img/dige.png')

kernel = np.ones((5, 5), np.uint8)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

cv2.imshow('opening', opening)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Erweitern Sie zuerst das Originalbild 1 und korrodieren Sie dann, um das Ergebnis des offenen Vorgangs zu erhalten Führen Sie im Originalbild 3 eine fünffache Erweiterung und eine fünffache Erosion durch und subtrahieren Sie, um das Ergebnis der Gradientenoperation zu erhalten. Abbildung 10: Zylinder und schwarzer Hut

4.1 Top-Hat

Top-Hat = ursprüngliche Eingabe – Operationsergebnis öffnen

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

# 闭:先膨胀,再腐蚀
img = cv2.imread('DataPreprocessing/img/dige.png')

kernel = np.ones((5, 5), np.uint8)
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

cv2.imshow('closing', closing)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren

Top-Hat-Ergebnis abrufen

Abbildung 11:

4.2 Black-Hat Was ist die Operationsmethode der Morphologie in Python+OpenCV?

Black-Hat = geschlossene Operation – ursprüngliche Eingabe

# 梯度=膨胀-腐蚀
pie = cv2.imread('DataPreprocessing/img/pie.png')
kernel = np.ones((7, 7), np.uint8)
dilate = cv2.dilate(pie, kernel, iterations=5)
erosion = cv2.erode(pie, kernel, iterations=5)

res = np.hstack((dilate, erosion))

cv2.imshow('res', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

gradient = cv2.morphologyEx(pie, cv2.MORPH_GRADIENT, kernel)

cv2.imshow('gradient', gradient)
cv2.waitKey(0)
cv2.destroyAllWindows()
Nach dem Login kopieren
um das Zylinderhut-Ergebnis zu erhalten

Bild 12:

Was ist die Operationsmethode der Morphologie in Python+OpenCV?

Das obige ist der detaillierte Inhalt vonWas ist die Operationsmethode der Morphologie in Python+OpenCV?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
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