#include #include "opencv2/opencv.hpp" using namespace std; using namespace cv; void detect_face() { Mat src = imread("../../resources/images/kids.png"); CascadeClassifier classifier("../../resources/haarcascade_frontalface_default.xml"); vector faces; classifier.detectMultiScale(src, faces); for (auto rc : faces) rectangle(src, rc, Scalar(255, 0, 255), 2); imshow("src", src); waitKey(); destroyAllWindows(); } void detect_eyes() { Mat src = imread("../../resources/images/kids.png"); CascadeClassifier face_classifier("../../resources/haarcascade_frontalface_default.xml"); CascadeClassifier eye_classifier("../../resources/haarcascade_eye.xml"); vector faces; face_classifier.detectMultiScale(src, faces); for (auto face : faces) { rectangle(src, face, Scalar(255, 0, 255), 2); Mat faceROI = src(face); vector eyes; eye_classifier.detectMultiScale(faceROI, eyes); for (Rect eye : eyes) { Point center(eye.x + eye.width / 2, eye.y + eye.height / 2); circle(faceROI, center, eye.width /2, Scalar(255, 0, 0), 2, LINE_AA); } } imshow("src", src); waitKey(); destroyAllWindows(); } int main() { detect_eyes(); }