linux下人臉檢測程式

2021-08-03 08:59:21 字數 1541 閱讀 6072

**功能,靜態定位人臉,以及眼睛,並將定位過的人臉區域儲存成新的影象。

#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...