萌新教材之人臉識別的人臉資料訓練

2021-10-07 08:54:17 字數 1479 閱讀 7671

首先宣告一下我也是初學者,但是見csdn對於萌新學人臉識別沒有好的教程,我打算分享自己的學習歷程。我之前已經做過了利用face_recognition庫做人臉識別,但是用這個做人臉識別其實沒啥意思,人家給你好了方法,你只是在呼叫。沒有體現訓練人臉資料的過程。並不好用。利用opencv2的harr級聯進行人臉識別。是乙個不錯的辦法,我也正在慢慢摸索、

訓練資料

訓練資料**

import cv2

import os

def generate():

face_cascade = cv2.cascadeclassifier(r"f:\python\lib\site-packages\cv2\data\haarcascade_frontalface_default.xml") # cascadeclassifier的物件變數,負責人臉檢測

eyes_cascade = cv2.cascadeclassifier(r"f:\python\lib\site-packages\cv2\data\haarcascade_eye.xml")

camera = cv2.videocapture(0,cv2.cap_dshow)

count = 0

while (true):

ret, frame = camera.read()

if not ret:

print('沒有找到人臉')

break

gray = cv2.cvtcolor(frame, cv2.color_bgr2gray)

faces = face_cascade.detectmultiscale(gray, 1.3, 5)

print(faces)

for (x, y, w, h) in faces:

img = cv2.rectangle(frame, (x, y), (x + w, y + h), (255, 0, 0), 2)

f = cv2.resize(gray[y:y + h, x:x + w], (200, 200))

print(f.size)

if f is none:

print("影象為空")

else:

cv2.imwrite('d:/face/jia%s.pgm' % str(count), f)

print(count)

count += 1

cv2.imshow('camera', frame)

c = cv2.waitkey(10)

if count == 20:

break

camera.release()

cv2.destroyallwindows()

generate()

上述**實現了,採集20張人臉**。並且儲存到指定目錄。

親測可用,注意imwrite的儲存路徑,有時候不報錯但是也不儲存,這個時候就請你手動輸入儲存目錄。因為複製的目錄不一定啥時候就出錯了,而且也不現實錯誤提醒。

人臉識別之人臉檢測

人臉識別分為人臉檢測 人臉預處理 蒐集和學習人臉以及人臉識別四個部分,此部分將人臉檢測。本文基於opencv進行的。在opencv中常用的人臉檢測器有基於lbp的特徵檢測 基於haar的特徵檢測,兩者的區別 前者比後者快好幾倍且不需要許可協議,但很多haar檢測器需要許可協議。基於haar的臉部檢測...

Android之人臉識別

android作為乙個比較廣泛的平台,如何實現人臉識別功能呢?android實現人臉識別可以通過google原生自帶或第三方提供,googel自帶的只能識別靜態,第三方提供的功能比較強大。google通過facedetector類實現人臉識別功能,檢視官方說明 identifies the face...

Android之人臉識別

前言 android作為乙個比較廣泛的平台,如何實現人臉識別功能呢?android人臉識別 android實現人臉識別可以通過google原生自帶或第三方提供,googel自帶的只能識別靜態,第三方提供的功能比較強大。google官方自帶 google通過facedetector類實現人臉識別功能,...