掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
人臉檢測(cè)是 OpenCV 的一個(gè)很不錯(cuò)的功能,它是人臉識(shí)別的基礎(chǔ)。人臉識(shí)別其實(shí)就是一個(gè)程序能識(shí)別給定圖像或視頻中的人臉。

成都創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營(yíng)銷(xiāo),產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿(mǎn)足企業(yè)的營(yíng)銷(xiāo)需求!成都創(chuàng)新互聯(lián)具備承接各種類(lèi)型的成都網(wǎng)站制作、做網(wǎng)站、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過(guò)十年的努力的開(kāi)拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶(hù)的一致好評(píng)。
人臉識(shí)別模塊特征
1、是用一系列分好類(lèi)的圖像來(lái)“訓(xùn)練”程序,并基于這些圖像來(lái)進(jìn)行識(shí)別。這就是OpenCV 及其人臉識(shí)別模塊進(jìn)行人臉識(shí)別的過(guò)程。
2、每個(gè)識(shí)別都具有轉(zhuǎn)置信(confidence)評(píng)分,因此可在實(shí)際應(yīng)用中通過(guò)對(duì)其設(shè)置閾值來(lái)進(jìn)行篩選。
人臉識(shí)別兩種方式
1、自己獲得圖像或從人臉數(shù)據(jù)庫(kù)免費(fèi)獲得可用的人臉圖像。
2、互聯(lián)網(wǎng)上有許多人臉數(shù)據(jù)庫(kù):為了對(duì)這些樣本進(jìn)行人臉識(shí)別,必須要在包含人臉的樣本圖像上進(jìn)行人臉識(shí)別。這是一 個(gè)學(xué)習(xí)的過(guò)程,但并不像自己提供的圖像那樣令人滿(mǎn)意。
python中OpenCV的人臉檢測(cè)功能操作實(shí)例
import os
import cv2
from PIL import Image
import numpy as np
def getImageAndLabels(path):
facesSamples = []
ids = []
imagePaths = [os.path.join(path, f) for f in os.listdir(path)]
# 檢測(cè)人臉
# 加載特征數(shù)據(jù)
face_detector = cv2.CascadeClassifier(
'D:/Python/opencv/sources/data/haarcascades/haarcascade_frontalface_default.xml')
# 參數(shù): scaleFactor(比例因子):圖片縮放多少,minNeighbors:至少檢測(cè)多少次,minSize maxSize:當(dāng)前檢測(cè)區(qū)域的最小面積
# scaleFactor=1.01, minNeighbors=3, maxSize=(33, 33), minSize=(28, 28)
# 遍歷列表中的圖片
for imagePath in imagePaths:
# 打開(kāi)當(dāng)前圖片
PIL_img = Image.open(imagePath).convert('L')
# 將圖片轉(zhuǎn)化為數(shù)組
img_numpy = np.array(PIL_img, 'uint8')
faces = face_detector.detectMultiScale(img_numpy)
# 獲取每張圖片的id
id = int(os.path.split(imagePath)[1].split('.')[0])
# 獲取人臉區(qū)域
for x, y, w, h in faces:
# 進(jìn)行切片處理,獲取圖像數(shù)組和id
facesSamples.append(img_numpy[y:y+h, x:x+w])
ids.append(id)
return facesSamples, ids
if __name__ == '__main__':
# 圖片路徑
path = './data/jm/'
# 獲取圖像數(shù)組和id標(biāo)簽數(shù)組
faces, ids = getImageAndLabels(path)
# 獲取循環(huán)對(duì)象
recognizer = cv2.face.LBPHFaceRecognizer_create()
recognizer.train(faces, np.array(ids))
# 保存文件
recognizer.write('trainer/trainer.yml') 
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流