**功能,靜態定位人臉,以及眼睛,並將定位過的人臉區域儲存成新的影象。
#include "opencv2/core/core.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include
#include
using namespace std;
using namespace cv;
string face_cascade_name = "haarcascade_frontalface_alt.xml";
string eye_cascade_name = "haarcascade_eye_tree_eyeglasses.xml";
//該檔案存在於opencv安裝目錄下的\sources\data\haarcascades內,需要將該xml檔案複製到當前工程目錄下
cascadeclassifier face_cascade;
cascadeclassifier eyes_cascade;
void detectanddisplay(mat frame);
int main(int argc, char** argv)
if(!eyes_cascade.load(eye_cascade_name))
detectanddisplay(image);//呼叫人臉檢測函式
waitkey(0);
//暫停顯示一下
return 0;
}void detectanddisplay(mat face)
for(int i=0; irectangle(face, rect(faces[0].x, faces[0].y, faces[0].width, faces[0].height), scalar(0, 0, 255), 3, 8, 0);
//mat colorroi = face(faces[i]);
mat faceroi = face_gray(faces[i]);
vectoreyes;
eyes_cascade.detectmultiscale(faceroi, eyes, 1.1, 2, 0|cv_haar_scale_image, size(30, 30));
for(int j=0; jpoint center( faces[i].x+eyes[j].x + eyes[j].width*0.5, faces[i].y + eyes[j].y + eyes[j].height*0.5);
int radius = cvround((eyes[j].width + eyes[i].height)*0.25);
circle(face, center, radius, scalar(0,0,255), 2, 8, 0);
}imwrite("10.pgm",faceroi);
}imshow("face", face);
}
python下人臉檢測
然後在cmd下試一下pip install numpy 檢查numpy包是否已經安裝 出現 說明已經安裝,否則這命令也能自動安裝 安裝好後先檢查一下opencv是否安裝完全 結果為 其中 dets detector img,1 為進行人臉檢測 for i,d in enumerate dets pr...
人臉識別之人臉檢測
人臉識別分為人臉檢測 人臉預處理 蒐集和學習人臉以及人臉識別四個部分,此部分將人臉檢測。本文基於opencv進行的。在opencv中常用的人臉檢測器有基於lbp的特徵檢測 基於haar的特徵檢測,兩者的區別 前者比後者快好幾倍且不需要許可協議,但很多haar檢測器需要許可協議。基於haar的臉部檢測...
OpenCV人臉檢測 眼睛檢測之在人臉以外找眼睛
今天在學習opencv人臉檢測時,發現眼睛檢測是在人臉以外尋找眼睛的,源 如下 import cv2 def detect face cascade cv2.cascadeclassifier cascades haarcascade frontalface default.xml eye casc...