Experimenteller Leitfaden für Design und Implementierung der Bildfarb- und Formerkennung basierend auf OpenCV

Experimenteller Leitfaden für Design und Implementierung der Bildfarb- und Formerkennung basierend auf OpenCV

1. Versuchszweck:

Durch dieses Experiment verstehen die Schüler die Grundkonzepte von Bildfarbe und -form und beherrschen die Methode zur Verwendung von OpenCV zur Identifizierung von Bildfarbe und -form. Zu den spezifischen Vorgängen gehören das Zuschneiden von Bildern, die Farberkennung und die Konturerkennung.

2. Experimentelle Ausrüstung:

  • Computer
  • Entwicklungsumgebung mit installierten Python- und OpenCV-Bibliotheken
  • Farbbild

3. Experimentelle Schritte:

1. Importieren Sie die erforderlichen Bibliotheken:

CV2 als CV importieren

numpy als np importieren

Mathematik importieren

aus PIL-Import Image, ImageDraw, ImageFont

2. Legen Sie den Farbschwellenwert fest: Stellen Sie den entsprechenden Farbschwellenwert entsprechend der Farbe ein, die erkannt werden muss. Zum Beispiel:

Lower_red = np.array([0, 120, 100])

Upper_red = np.array([10, 255, 255])

3. Definieren Sie Funktionen zur Berechnung von Winkeln und Abständen:

def Berechnungswinkel(p1, p2, p0):

    # Winkel berechnen

def berechne_distanz(p0, p1):

    # Entfernung berechnen

4. Definieren Sie die Formerkennungsfunktion:

def getShape(cnt):

    # Ermitteln Sie die Form basierend auf dem Umriss

5. Definieren Sie Funktionen zum Hinzufügen von Text und rechteckigen Feldern:

def cv2ImgAddText(img, Formen, textColor=(255, 0, 0)):

    # Text hinzufügen

def cv2ImgAddRect(img, Formen):

    #Rechteck hinzufügen

6. Definieren Sie die Farbsegmentierungsfunktion:

def colorDivision(name, roi_bgr, Lowerb, Upperb):

    # Bildsegmentierung basierend auf dem Farbschwellenwert

7. Laden Sie das Bild:

roi_bgr = cv.imread('Shape1.png')

8. Segmentieren Sie das Bild und führen Sie eine Formerkennung durch:

# Teilen Sie jeweils eine Farbe auf

colorDivision("red", roi_bgr, Lower_red, Upper_red)

# Die Segmentierung anderer Farben ist ähnlich

#Text und Rechteck hinzufügen

roi_bgr = cv2ImgAddText(roi_bgr, shape_list)

roi_bgr = cv2ImgAddRect(roi_bgr, shape_list)

9. Zeigen Sie das Ergebnisbild an:

cv.imshow('roi_bgr', roi_bgr)

cv.waitKey()

cv.destroyAllWindows()

10. Speichern Sie das Ergebnisbild:

cv.imwrite("result.png", roi_bgr)

4. Dinge, die Sie beachten sollten:

  • Die im Experiment verwendeten Bilder sollten die Farben und Formen enthalten, die erkannt werden müssen.
  • Der Farbschwellenwert und die Formbeurteilungsbedingungen können nach Bedarf angepasst werden.
  • Während des Experiments können Parameter und Algorithmen nach Bedarf angepasst werden, um bessere Erkennungsergebnisse zu erzielen.

5. Experimentelle Erweiterung:

Sie können versuchen, dem Experiment weitere Funktionen hinzuzufügen, z. B. Bildvorverarbeitungsschritte wie Gaußsche Unschärfe, Kantenerkennung usw. hinzuzufügen, um den Erkennungseffekt zu verbessern. Zeichnen Sie Konturlinien, Eckpunkte und andere Markierungen in das Bild, um die Erkennungsergebnisse intuitiver anzuzeigen.

Versuchen Sie bei nicht erkennbaren Formen, maschinelle Lernalgorithmen zur Klassifizierung und Erkennung zu verwenden.

Durch die oben genannten Experimente können Sie die Grundprinzipien und Methoden der Farb- und Formerkennung von Bildern verstehen und die Fähigkeit beherrschen, OpenCV zum Ausführen verwandter Vorgänge zu verwenden. Gleichzeitig können Studierende durch praktische Einsätze ihr Verständnis für Bildverarbeitung und Computer Vision vertiefen und so den Grundstein für weitere Forschung und Anwendung legen.

6. Versuchsbericht:

Schreiben Sie einen einfachen Versuchsbericht, der den Zweck, die Vorgehensweise, die Ergebnisse und eine Zusammenfassung des Experiments enthält. Der Bericht sollte alle Daten während des Experiments, Beobachtungen und Analysen von Parameteranpassungen sowie eine Diskussion der experimentellen Ergebnisse enthalten.

Acho que você gosta

Origin blog.csdn.net/douyu0814/article/details/135192621
Recomendado
Clasificación