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;
}
本文介绍了一种基于OpenCV库实现的人脸识别方法。通过加载预训练的Haar级联分类器,程序能够从输入图像中检测并标记出人脸的位置。文章提供了完整的代码示例,包括图像灰度转换、直方图均衡化等预处理步骤,以及如何使用detectMultiScale函数进行人脸检测。
1869

被折叠的 条评论
为什么被折叠?



