English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python verwendet OpenCV2Implementierung von Gesichts erkennung

Kürzlich habe ich mit meinen Studenten einen URTP-Projektentwurf durchgeführt, bei dem ein Gesichtserkennungssystem erforderlich ist. Da OpenCV inzwischen2.X-Version, daher möchte ich den alten nicht verwenden1.X-Version des Codes, und die auf der Website vorhandenen Codes sind1.X-Version des Codes, versuchen Sie, einen Abschnitt selbst zu schreiben2.X-Version des Codes, wiederholte Durchsicht von Unterlagen, heute endlich erfolgreich getestet(offensichtlich2.X-Version des Codes ist einfacher als1.X-Code ist einfacher),um allen eine Referenz zu bieten, der Code ist wie folgt:(2017Jahr5Monat12Tag in Python3,6,1Nachfolgend eine einfache Änderung)

import cv2
import numpy as np
cv2.namedWindow("test")#Nennen Sie ein Fenster
cap=cv2.VideoCapture(1#Öffnen1Kamera
success, frame = cap.read()#Lesen Sie ein Frame Bild, der vorherige Rückgabewert ist ob erfolgreich, der nächste Rückgabewert ist das Bild selbst
color = (0,0,0)#Setzen Sie die Farbe des Gesichtsfeldes
classfier=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")#Definieren Sie den Klassifikator
while success:
 success, frame = cap.read()
 size=frame.shape[:2#Erhalten Sie die Größe des aktuellen Farbbildes
 image=np.zeros(size,dtype=np.float16#Definieren Sie eine Graustufenbildmatrix der Größe des aktuellen Frames
 , image = cv2, .cvtColor(frame, cv2, COLOR_BGR2, GRAY)#Konvertiere das aktuelle Bild in ein Graustufenbild (hier wurde eine Änderung vorgenommen)
 cv2.equalizeHist(image, image)#Gleitender Histogrammvergleich für Graustufenbilder
 #Die folgenden drei Zeilen stellen die minimale Bildgröße ein
 divisor=8
 , w = size
 minSize=(int(w/, int(h/divisor))#Hier wurde eine Rundungsfunktion hinzugefügt
 .detectMultiScale(image, 1,2, 2, cv2.CASCADE_SCALE_IMAGE,minSize)#Gesichtserkennung
 if len(faceRects)>0:#Wenn die Länge des Gesichtarrays größer als 0 ist
  for faceRect in faceRects: #Zeichne einen Rechteckrahmen um jedes Gesicht
    , y, w, h = faceRect
    cv2.rectangle(frame, (x, y), (x+, y+, color)
 cv2.imshow("test", frame)#Zeige das Bild an
 key=cv2.waitKey(10)
 c = chr(key & 255)
 if c in ['q', 'Q', chr(27]):
  break
cv2.destroyWindow("test")

Detailliertes Bild:

Das war der Inhalt dieses Artikels. Wir hoffen, er hat Ihnen bei Ihrem Lernen geholfen und wir hoffen, dass Sie die Anleitung für Lärm stark unterstützen.

Erklärung: Der Inhalt dieses Artikels stammt aus dem Internet und ist urheberrechtlich geschützt. Der Inhalt wurde von Internetnutzern selbstständig bereitgestellt und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht von Hand bearbeitet. Diese Website übernimmt keine rechtlichen Verantwortlichkeiten. Wenn Sie verdächtige urheberrechtliche Inhalte finden, freuen wir uns über eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @, wenn Sie eine Beschwerde einreichen, und fügen Sie relevante Beweise bei. Bei nachgewiesener Täuschung wird diese Website den fraglichen Infringers immediately löschen.

Möglicherweise gefällt Ihnen