OpenCV中的人臉識別通常使用 Haar 特征和 LBP 特征。這里我將解釋如何使用 Haar 特征進(jìn)行特征提取。
Haar 特征是一種基于圖像像素值變化的快速特征檢測方法,可以用于識別人臉等物體。在 OpenCV 中,可以使用 Haar 特征分類器來檢測人臉。
以下是使用 OpenCV 進(jìn)行 Haar 特征提取的步驟:
import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
for (x, y, w, h) in faces:
roi = gray[y:y+h, x:x+w]
features = face_cascade.compute(roi)
# 使用 features 進(jìn)行后續(xù)處理,例如分類或識別
在上面的代碼中,face_cascade.compute(roi)
返回一個包含人臉 Haar 特征的矩陣,可以用于后續(xù)的分類或識別操作。