标签:roi eyes cast haar frame opencv 特征 static faces
视频流抓取人脸和眼睛
#include<opencv2/opencv.hpp> #include<iostream> using namespace cv; using namespace std; CascadeClassifier face_cascader; //分类器 CascadeClassifier eye_cascader; String facefile = "D:/Appinstall/opencv-3.4.4_vc15/etc/haarcascades/haarcascade_frontalface_alt.xml"; String eyefile = "D:/Appinstall/opencv-3.4.4_vc15/etc/haarcascades/haarcascade_eye.xml"; int main(int argc, char** argv) { if (!face_cascader.load(facefile)) { printf("could not load face feature data...\n"); return -1; } if (!eye_cascader.load(eyefile)) { printf("could not load eye feature data...\n"); return -1; } namedWindow("camera-demo", CV_WINDOW_AUTOSIZE); VideoCapture capture(0); //读取摄像头视频流 Mat frame; Mat gray; vector<Rect> faces; vector<Rect> eyes; while (capture.read(frame)) { cvtColor(frame, gray, COLOR_BGR2GRAY); equalizeHist(gray, gray); face_cascader.detectMultiScale(gray, faces, 1.2, 3, 0, Size(30, 30)); for (size_t t = 0; t < faces.size(); t++) { Rect roi; roi.x = faces[static_cast<int>(t)].x; roi.y = faces[static_cast<int>(t)].y; roi.width = faces[static_cast<int>(t)].width; roi.height = faces[static_cast<int>(t)].height / 2; Mat faceROI = frame(roi); eye_cascader.detectMultiScale(faceROI, eyes, 1.2, 3, 0, Size(20, 20)); for (size_t k = 0; k < eyes.size(); k++) { Rect rect; rect.x = faces[static_cast<int>(t)].x + eyes[k].x; rect.y = faces[static_cast<int>(t)].y + eyes[k].y; rect.width = eyes[k].width; rect.height = eyes[k].height; rectangle(frame, rect, Scalar(0, 255, 0), 2, 8, 0); } rectangle(frame, faces[static_cast<int>(t)], Scalar(0, 0, 255), 2, 8, 0); } imshow("camera-demo", frame); char c = waitKey(30); if (c == 27) { break; } } waitKey(0); return 0; }
标签:roi,eyes,cast,haar,frame,opencv,特征,static,faces 来源: https://www.cnblogs.com/osbreak/p/11699310.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。