分類器逐級篩選最終選定人臉,可以通過haar積分/lbp檢測方法實現,opencv已經實現現成的分類其我們可以拿來直接使用。分類器存放在(linux環境下)opencv原始碼編譯路徑下的share/opencvx/haarcascades
路徑下的.xml
檔案
haarcascade_eye.xml
haarcascade_eye_tree_eyeglasses.xml
haarcascade_frontalface_alt.xml
haarcascade_frontalface_alt_tree.xml
haarcascade_frontalface_alt2.xml
haarcascade_frontalface_default.xml
haarcascade_fullbody.xml
haarcascade_lefteye_2splits.xml
haarcascade_lowerbody.xml
haarcascade_mcs_eyepair_big.xml
haarcascade_mcs_eyepair_small.xml
haarcascade_mcs_leftear.xml
haarcascade_mcs_lefteye.xml
haarcascade_mcs_mouth.xml
haarcascade_mcs_nose.xml
haarcascade_mcs_rightear.xml
haarcascade_mcs_righteye.xml
haarcascade_mcs_upperbody.xml
haarcascade_profileface.xml
haarcascade_righteye_2splits.xml
haarcascade_smile.xml
haarcascade_upperbody.xml
其中:haarcascade_frontalface_alt.xml
與haarcascade_frontalface_alt2.xml
都是人臉識別的haar
特徵分類器了。
opencv2
中人臉檢測使用的是detectmultiscale
函式。它可以檢測出中所有的人臉,並將人臉用vector
儲存各個人臉的座標、大小(用矩形表示)
函式api
void
detectmultiscale
(const mat& image,
cv_out vector
& objects,
double scalefactor =
1.1,
int minneighbors =3,
int flags =0,
size minsize =
size()
, size maxsize =
size()
);
引數介紹
#include
#include
#include
#include
using
namespace std;
using
namespace cv;
intmain
(void
) string face_data =
"/work/opencv_data/haarcascade_frontalface_alt.xml"
; cascadeclassifier face_cascade;
//載入分類器if(
!face_cascade.
load
(face_data)
)while
(true
)flip
(src,src,1)
;//電腦攝像頭映象 這裡水平反轉一下 不反轉也沒事
cvtcolor
(src,dst,color_bgr2gray)
;imshow
("原始畫面"
,src)
; vector face;
face_cascade.
detectmultiscale
(dst,face,
1.1,3,
0,size(30
,30))
;for
(size_t i=
0;isize()
;i++
) dst=src.
clone()
;//顯示
namedwindow
("檢測畫面"
,window_autosize)
;imshow
("檢測畫面"
基於OpenCV級聯分類器的人臉檢測
使用級聯分類器訓練人臉模型 作為乙個大四狗,在畢業之前想做點有意思的東西,加上人工智慧這兩年很火,也就從網上找資源,進行了乙個學習的過程,使用的平台是qt5.12 opencv3.40。目的就是為了訓練乙個可以進行人臉檢測的模型。跟著賈志剛老師的課程學了一段時間以後,自己也就找專案去練手去了。不過在...
人臉檢測級聯分類器
對於人臉識別這種型別的應用來說,通常都會分為幾個步驟 人臉檢測 face detection 檢測到人臉所在的區域。並進行一系列的矯正。人臉校準 face alignment 人臉校準指的是在中尋找到鼻子 眼睛 嘴巴之類的位置。如圖中,紅色的框是在進行檢測,白色的點是在進行校準。資訊識別 info ...
OpenCV級聯分類器訓練
級聯分類器包括兩部分 訓練和檢測。檢測部分在opencv objdetect 模組的文件中有介紹,在那文件中給出了一些級聯分類器的基本介紹。這個指南是描述如何訓練分類器 準備訓練資料和執行訓練程式。opencv中有兩個程式可以訓練級聯分類器 opencv haartraining and openc...