基于OpenCv的人脸识别(Python完整代码)
基于OpenCv的人臉識別(Python完整代碼)-大盤站
實(shí)驗(yàn)環(huán)境 :python 3.6 + opencv-python 3.4.14.51 建議使用 anaconda配置相同環(huán)境
背景
人臉識別步驟

圖1 :人臉識別流程圖
人臉采集
采集人臉圖片的方法多種多樣 ,可以直接從網(wǎng)上下載數(shù)據(jù)集,可以從視頻中提取圖片,還可以從攝像頭實(shí)時(shí)的采集圖片 。
人臉檢測方法
人臉檢測在實(shí)際中主要用于人臉識別的預(yù)處理,即在圖像中準(zhǔn)確標(biāo)定出人臉的位置和大小。人臉圖像中包含的模式特征十分豐富,如直方圖特征、顏色特征、模板特征 、結(jié)構(gòu)特征及Haar特征等。人臉檢測就是把這其中有用的信息挑出來,并利用這些特征實(shí)現(xiàn)人臉檢測。
人臉圖像預(yù)處理
對于人臉的圖像預(yù)處理是基于人臉檢測結(jié)果,對圖像進(jìn)行處理并最終服務(wù)于特征提取的過程。系統(tǒng)獲取的原始圖像由于受到各種條件的限制和隨機(jī) 干擾 ,往往不能直接使用 ,必須在圖像處理的早期階段對它進(jìn)行灰度校正、噪聲過濾等圖像預(yù)處理 。對于人臉圖像而言,其預(yù)處理過程主要包括人臉圖像的光線補(bǔ) 償、灰度變換、直方圖均衡化、歸一化、幾何校正、濾波以及銳化等 。
人臉特征提取
人臉識別系統(tǒng)可使用的特征通常分為視覺特征、像素統(tǒng)計(jì)特征、人臉圖像變換系數(shù)特征 、人臉圖像代數(shù) 特征等。人臉特征提取就是針對人臉的某些特征進(jìn)行的。人臉特征提取,也稱人臉表征 ,它是對人臉進(jìn)行特征建模的過程。人臉特征提取的方法歸納起來分為兩大 類:一種是基于知識的表征方法;另外一種是基于代數(shù)特征或統(tǒng)計(jì)學(xué)習(xí)的表征方法 。
匹配與識別
提取的人臉圖像的特征數(shù)據(jù)與數(shù)據(jù)庫中存儲的特征模板進(jìn)行搜索匹配,通過設(shè)定一個(gè)閾值 ,當(dāng)相似度超過這一閾值