[PYTHON] Probieren Sie OpenCV mit Google Colaboratory aus

Sie können Folgendes ohne Installation tun

Eingabebild (Originalbild)

Das Ausgabebild (Bild nach der Konvertierung) und die Position des Katzengesichts werden erkannt und dort ein Kreis hinzugefügt.

Sie benötigen ein Google-Konto, da Sie Google Colaboratory verwenden.

1. Stellen Sie eine Verbindung zu Google Colaboratory her

Suchen Sie nach "Google Drive" und melden Sie sich mit Ihrem Google-Konto an.

Wählen Sie "Neu", "Andere" und "App hinzufügen".

Wählen Sie Labor.

Klicken Sie auf Weiter, um Colaboratory zu installieren.

Nach der Installation können Sie "Google Colaboratory" unter "Neu" und "Andere" auswählen.

Wenn Sie "Google Colaboratory" auswählen, wird eine neue Datei erstellt und Colaboratory gestartet.

Ab diesem Zeitpunkt wird alles außer der Vorbereitung der erforderlichen Dateien im Labor durchgeführt.

2. OpenCV, Zeichnungsbibliothek laden (matplotlib)

Geben Sie Folgendes in die erste Zelle des Labors ein und drücken Sie Umschalt + Eingabetaste. Es ist in Ordnung, wenn die OpenCV-Version (4.1.2 ab 2020.08.17) angezeigt wird.

%matplotlib inline #Inline-Matplotlib-Ausgabe(Kein Popup)Zu.
import cv2 #Laden Sie opencv
import matplotlib.pyplot as plt #Laden Sie matplotlib und verwenden Sie pyplot mit dem Namen plt.
print(cv2.__version__) #Zeigen Sie die Version von opencv an und überprüfen Sie das Laden.
#Ausgabe
# 4.1.2

3. Bereiten Sie die erforderlichen Dateien vor

Laden Sie gelernte Daten von [https://github.com/opencv/opencv/tree/master/data/haarcascades] herunter (https://github.com/opencv/opencv/tree/master/data/haarcascades) ..

Klicken Sie zunächst auf die Datei haarcascade_frontalcatface.xml, um das Gesicht der Katze zu erkennen.

Klicken Sie mit der rechten Maustaste auf Raw, um die Datei zu speichern.

4. Laden Sie die Datei in Colaboratory hoch

Schreiben Sie den folgenden Code in die zweite Zelle und drücken Sie Umschalt + Eingabetaste.

from google.colab import files #Verwenden Sie Dateivorgänge aus der Laborbibliothek.
f = files.upload() #Laden Sie die Datei hoch.

Drücken Sie "Datei auswählen", um die Datei hochzuladen.

Die Datei lädt die folgenden zwei hoch.

  1. Bilddatei, die Sie konvertieren möchten
  2. haarcascade_frontalcatface.xml (Bereiten Sie die erforderlichen Dateien vor, heruntergeladen in)

Schreiben Sie den folgenden Code in die nächste Zelle, drücken Sie Umschalt + Eingabetaste, führen Sie ihn aus und bestätigen Sie, dass der Name der hochgeladenen Datei ausgegeben wird (in diesem Beispiel lautet der Dateiname des zu konvertierenden Bilds "IMG_20200808_181512". .jpg ").

!ls #Führen Sie den Systembefehl ls aus, um zu überprüfen, ob die Datei hochgeladen wurde.
#Ausgabe
# haarcascade_frontalcatface.xml	IMG_20200808_181512.jpg  sample_data

5. Laden Sie das Bild mit OpenCV

Schreiben Sie den folgenden Code in eine neue Zelle und drücken Sie Umschalt + Eingabetaste, um ihn auszuführen.

#Dateiname(IMG_20200808_181512.jpg)Bitte ändern Sie den Dateinamen des Bildes, das Sie hochgeladen haben.
img = cv2.imread("./IMG_20200808_181512.jpg ") #Bilder laden
show_img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB) #Erstellen Sie ein Bild im BGR-Format, das zur Anzeige in das RGB-Format konvertiert wurde.
plt.imshow(show_img) # matplot.Zeigen Sie das mit lib gelesene Bild an.

Es ist in Ordnung, wenn das hochgeladene Bild wie unten gezeigt angezeigt wird.

6. Erkennen Sie das Gesicht und zeichnen Sie einen Kreis und einen Pfeil an der Position des Gesichts

Schreiben Sie den folgenden Code in eine neue Zelle und drücken Sie Umschalt + Eingabetaste, um ihn auszuführen. Einzelheiten zu cv2.circle und cv2.putText finden Sie unter OpenCV-Zeichnungsfunktion. Bitte beziehen Sie sich auf py_drawing_functions.html) usw.

#Generieren Sie ein Modell aus einer trainierten Datei
face_cascade = cv2.CascadeClassifier('./haarcascade_frontalcatface.xml')
#Graues Bild erzeugen
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

#Gesichtserkennung
faces = face_cascade.detectMultiScale(gray, 1.3, 5)

#Schleife mit Erkennungsergebnis x,y:Oben links im Gesichtsrechteck, w,h:Breite und Höhe des Gesichtsrechtecks
for (x,y,w,h) in faces:
  #Zeichnen Sie einen Kreis an der Position des Gesichts
  img = cv2.circle(img,(x+int(w/2),y+int(h/2)),int(max(w/2,h/2)),(0,0,255),12)
  #Zeichne einen Pfeil mit Buchstaben
  cv2.putText(img,"<---",(x+w,y+int(h/2)),cv2.FONT_HERSHEY_SIMPLEX,8,(0,0,255),32,cv2.LINE_AA)

#Zum Zeichnen in RGB konvertieren
show_img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
#Das Ergebnis zeichnen
plt.imshow(show_img)

Wenn ein Kreis auf das Gesicht der Katze gezeichnet und ein Pfeil wie unten gezeigt angebracht wird, ist dies erfolgreich. Es gibt jedoch Zeiten, in denen das Gesicht nicht erkannt werden kann. In diesem Bild steht uns beispielsweise die dreihaarige Katze gegenüber, aber das Gesicht ist nicht erkennbar.

7. Andere

Weitere Informationen finden Sie auf Websites wie OpenCV-Python Tutorial.

Recommended Posts

Probieren Sie OpenCV mit Google Colaboratory aus
OpenCV-Funktionserkennung mit Google Colaboratory
Versuchen Sie die Kantenerkennung mit OpenCV
Versuchen Sie Google Mock mit C.
Probieren Sie StyleGAN mit Google Colaboratory aus
Lernen Sie Python mit Google Colaboratory
Google-Labor
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Versuchen Sie, eine lineare Regression mit Pytorch mit Google Colaboratory zu implementieren
Versuchen Sie, die Kamera mit Pythons OpenCV zu verwenden
Versuchen Sie, Python mit Google Cloud-Funktionen zu verwenden
So suchen Sie in Google Colaboratory nach Google Drive
Erstellen Sie einen Kaskadenklassifizierer mit Google Colaboratory
Verwendung des Jupyter-Kernels von Java mit Google Colaboratory
Verwenden Sie TPU und Keras mit Google Colaboratory
Versuchen Sie, Google Chrome mit Python und Selenium auszuführen
Versuchen Sie, Videos mit OpenCV in Echtzeit zu konvertieren
Cheet Sheet beim Schaben mit Google Colaboratory (Colab)
Versuchen Sie, Fische mit Python + OpenCV2.4 (unvollendet) zu erkennen.
Authentifizieren Sie Google mit Django
Zusammenfassung der Einrichtung von Google Colaboratory
Versuchen Sie es mit Python.
Katze zurück mit OpenCV erkennen
Binarisierung mit OpenCV / Python
Versuchen Sie SNN mit BindsNET
Sprites mit OpenCV drehen
Datenerweiterung mit openCV
Versuchen Sie eine Regression mit TensorFlow
Einfache TopView mit OpenCV
Stolpern Sie mit opencv3 von Homebrew
Versuchen Sie, die Bildkonvertierung mit OpenCV mit Python zu projizieren
So laden Sie Dateien in Google Drive mit Google Colaboratory
End-to-End-Trennung von Einkanal-Tonquellen mit Google Colaboratory
Analysieren mit Google Colaboratory mithilfe der Kaggle-API
Lernen Sie mit "Google Colaboratory" ganz einfach 100 Sprachverarbeitungsklopfen 2020.
Erstellen einer Umgebung für die Verwendung von CaboCha mit Google Colaboratory
Versuchen Sie, den Boden durch Rekursion herauszufordern
Versuchen Sie die Funktionsoptimierung mit Optuna
Versuchen Sie, Webkamera- / Videokamera-Videos in Echtzeit mit OpenCV zu konvertieren
Versuchen Sie es mit TensorFlow
Versuchen Sie, PythonTex mit Texpad zu verwenden.
Testen Sie eingebettete Software mit Google Test
"Apple-Verarbeitung" mit OpenCV3 + Python3
Codefragmente, die häufig bei der Verarbeitung von Videos mit Google Colaboratory verwendet werden
Versuchen Sie, RBM mit Chainer zu implementieren.
Verwenden Sie music21 in Google Colaboratory
Bildbearbeitung mit Python OpenCV
Versuchen Sie es mit matplotlib mit PyCharm
Versuchen Sie, mit einer Shell zu programmieren!
Kameraerfassung mit Python + OpenCV
Versuchen Sie die GUI-Programmierung mit Hy
Versuchen Sie Auto Encoder mit Pytorch
Versuchen Sie die Matrixoperation mit NumPy
Versuchen Sie es mit OpenCV unter Windows
Versuchen Sie, XOR mit PyTorch zu implementieren
Versuchen Sie, CNN mit ChainerRL auszuführen
Über das Lernen mit Google Colab
Versuchen Sie Deep Learning mit FPGA
Binarisieren Sie Fotodaten mit OpenCV