using namespace cv;
using namespace std;
String cascadeName = "E:\\opencv-2.4.11\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt2.xml";; //加载opencv中的分类器
void detectAndDisplay(Mat image,CascadeClassifier harrcascade)
{
Mat face_gray;
vector<Rect> faces;
cvtColor(image, face_gray, CV_BGR2GRAY); //灰度变换
equalizeHist(face_gray,face_gray); //直方图均衡化
harrcascade.detectMultiScale(face_gray, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30));
for( vector<Rect>::const_iterator r = faces.begin(); r != faces.end(); r++)
{
rectangle(image, *r ,Scalar(0,0,255), 2, 8);
}
imshow("人脸识别", image);
}
int main()
{
CascadeClassifier harrcascade;
Mat image = imread("F:\\girl.jpg");
if(image.empty()){
printf("no image");
return 0;
}
namedWindow("女孩照片");
imshow("女孩照片",image);
printf("print a = %d",a);
if(!harrcascade.load(cascadeName))
{
printf("ERROR: Could not load classified");
return 0;
}
detectAndDisplay(image, harrcascade);
waitKey();
return 0;
}
using namespace std;
String cascadeName = "E:\\opencv-2.4.11\\opencv\\sources\\data\\haarcascades\\haarcascade_frontalface_alt2.xml";; //加载opencv中的分类器
void detectAndDisplay(Mat image,CascadeClassifier harrcascade)
{
Mat face_gray;
vector<Rect> faces;
cvtColor(image, face_gray, CV_BGR2GRAY); //灰度变换
equalizeHist(face_gray,face_gray); //直方图均衡化
harrcascade.detectMultiScale(face_gray, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30));
for( vector<Rect>::const_iterator r = faces.begin(); r != faces.end(); r++)
{
rectangle(image, *r ,Scalar(0,0,255), 2, 8);
}
imshow("人脸识别", image);
}
int main()
{
CascadeClassifier harrcascade;
Mat image = imread("F:\\girl.jpg");
if(image.empty()){
printf("no image");
return 0;
}
namedWindow("女孩照片");
imshow("女孩照片",image);
printf("print a = %d",a);
if(!harrcascade.load(cascadeName))
{
printf("ERROR: Could not load classified");
return 0;
}
detectAndDisplay(image, harrcascade);
waitKey();
return 0;
}