Computer Vision Unterricht in Python + OpenCV von Anfang an

In dieser Reihe von Tutorials zeige ich Ihnen, wie Sie die OpenCV-Bibliothek in Python verwenden. Aber zuerst ein paar Worte zum Thema Computer Vision. Wie sieht ein Computer? Wenn Sie eine Videokamera an ihn anschließen, bedeutet dies nicht, dass er sehen wird. Wir bekommen nur ein paar Nullen und Einsen. Und eine Person sieht etwas Sinnvolles. Wie können wir aus diesen Nullen und Einsen etwas Sinnvolles extrahieren? Dies ist die Aufgabe des Computer Vision.



In der Regel durchläuft die Bildanalyse mit Computer-Vision-Algorithmen die folgenden Phasen (einige Phasen sind jedoch möglicherweise nicht vorhanden):

1. Bildvorverarbeitung. In diesem Stadium können Verbesserungen der Bildqualität auftreten, z. B. Erhöhen des Kontrasts, Schärfen oder umgekehrt, Verwischen des Bilds, um Rauschen und kleine kleinere Details zu entfernen. All dies ist notwendig, um die Analyse des Bildes in Zukunft zu vereinfachen.

2. Zwischenfiltration. In diesem Stadium werden verschiedene Filter auf das Bild angewendet, um interessierende Bereiche auf dem Bild anzuzeigen oder die Arbeit spezieller Bildanalysealgorithmen zu erleichtern.

3. Aufdeckung von Sonderzeichen (Merkmalen).Dies kann die Auswahl von Sonderpunkten, die Auswahl von Konturen oder einige andere Merkmale sein.

4. Analyse auf hoher Ebene. In diesem Stadium werden gemäß den auf den Bildern gefundenen Merkmalen bestimmte Objekte und in der Regel ihre Koordinaten bestimmt. Auch in diesem Stadium kann eine Segmentierung oder eine andere Verarbeitung auf hoher Ebene auftreten.



Kommen wir jetzt zur Sache. Wir werden uns die Arbeit mit Python + OpenCV in der PyCharm-Umgebung ansehen. Zuerst müssen wir OpenCV installieren. Gehen Sie dazu zu ImportSettings:







Klicken Sie im ProjectInterpreter auf das Pluszeichen:







Wir suchen dort nach opencv und installieren es:







Jetzt schreiben wir unser "Hello, World" - ein Programm, das ein Bild anzeigt:



import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)
cv2.waitKey(0)
cv2.destroyAllWindows()


      
      







Dies ist das Fenster, das dieses Programm öffnet:







Was macht das Programm? Es lädt ein Bild aus einer Datei, zeigt es an und wartet, bis der ESC-Schlüssel beendet ist.

Versuchen wir etwas mit diesem Bild. Sie können beispielsweise die Größe ändern. Angenommen, wir möchten ein Bild mit einer Breite von 200 erstellen. Berechnen Sie dazu seine Höhe und skalieren Sie es anhand dieser Daten:



import cv2
my_photo = cv2.imread('MyPhoto.jpg')
cv2.imshow('MyPhoto', my_photo)

#  
final_wide = 200
r = float(final_wide) / my_photo.shape[1]
dim = (final_wide, int(my_photo.shape[0] * r))

#     
resized = cv2.resize(my_photo, dim, interpolation = cv2.INTER_AREA)
cv2.imshow("Resized image", resized)
cv2.waitKey(0)

cv2.destroyAllWindows()


      
      







Folgendes haben wir:







Um die Bildanalyse zu vereinfachen, müssen Sie das Bild häufig schwarzweiß machen. Eine Möglichkeit besteht darin, ein Bild sofort in Schwarzweiß hochzuladen:



import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)

cv2.destroyAllWindows()


      
      







Wenn Sie ein bereits geladenes Bild konvertieren müssen, können Sie die Funktion cvtColor verwenden, mit der ein Bild von einem Farbraum in einen anderen konvertiert wird:




import cv2
img = cv2.imread('MyPhoto.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('MyPhoto', img)
cv2.waitKey(0)

cv2.destroyAllWindows()


      
      







So wird es aussehen:







Also, um es zusammenzufassen.

Wir haben gelernt, wie Sie OpenCV installieren, aus einer Datei laden und ein Bild anzeigen sowie einfache Transformationen durchführen, z. B. das Skalieren und Konvertieren eines Farbbilds in Schwarzweiß. Wenn diese Lektion "hereinkommt", wird sie fortgesetzt.



All Articles