注意两点
1.图片
2.haarcascade_frontalface_alt.xml在opencv的安装路径
参考
http://blog.csdn.net/morewindows/article/details/8426318
#include <opencv2/opencv.hpp>
#include <cstdio>
#include <cstdlib>
#include <Windows.h>
using namespace std;
int main()
{
// 加载Haar特征检测分类器
// haarcascade_frontalface_alt.xml系OpenCV自带的分类器 下面是我机器上的文件路径
const char *pstrCascadeFileName = "E:/tools/opencv2410/opencv/sources/data/haarcascades/haarcascade_frontalface_alt.xml";
CvHaarClassifierCascade *pHaarCascade = NULL;
pHaarCascade = (CvHaarClassifierCascade*)cvLoad(pstrCascadeFileName);
// 载入图像
const char *pstrImageName = "13.jpg";
IplImage *pSrcImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
IplImage *pGrayImage = cvCreateImage(cvGetSize(pSrcImage), IPL_DEPTH_8U, 1);
cvCvtColor(pSrcImage, pGrayImage, CV_BGR2GRAY);
// 人脸识别与标记
if (pHaarCascade != NULL)
{
CvScalar FaceCirclecolors[] =
{
{ { 0, 0, 255 } },
{ { 0, 128, 255 } },
{ { 0, 255, 255 } },
{ { 0, 255, 0 } },
{ { 255, 128, 0 } },
{ { 255, 255, 0 } },
{ { 255, 0, 0 } },
{ { 255, 0, 255 } }
};
CvMemStorage *pcvMStorage = cvCreateMemStorage(0);
cvClearMemStorage(pcvMStorage);
// 识别
DWORD dwTimeBegin, dwTimeEnd;
dwTimeBegin = GetTickCount();
CvSeq *pcvSeqFaces = cvHaarDetectObjects(pGrayImage, pHaarCascade, pcvMStorage);
dwTimeEnd = GetTickCount();
printf("人脸个数: %d 识别用时: %d ms\n", pcvSeqFaces->total, dwTimeEnd - dwTimeBegin);
// 标记
for (int i = 0; i <pcvSeqFaces->total; i++)
{
CvRect* r = (CvRect*)cvGetSeqElem(pcvSeqFaces, i);
CvPoint center;
int radius;
center.x = cvRound((r->x + r->width * 0.5));
center.y = cvRound((r->y + r->height * 0.5));
radius = cvRound((r->width + r->height) * 0.25);
cvCircle(pSrcImage, center, radius, FaceCirclecolors[i % 8], 2);
}
cvReleaseMemStorage(&pcvMStorage);
}
const char *pstrWindowsTitle = "人脸识别";
cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
cvShowImage(pstrWindowsTitle, pSrcImage);
cvWaitKey(0);
cvDestroyWindow(pstrWindowsTitle);
cvReleaseImage(&pSrcImage);
cvReleaseImage(&pGrayImage);
return 0;
}
注意linker input要引入所有 lib
opencv_core2410d.lib
opencv_imgproc2410d.lib
opencv_highgui2410d.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib
分享到:
相关推荐
人脸识别检测opencv简单java实现要不是毕业好几年我都不舍得分享出来!!! CTRL+D收藏一下或者关注走一波-有你所需!不断更新! 其他相关下载,配套代码以及PPT。稳妥的小老弟 ...加载本地的OpenCV库,这样就可以用它...
cv::imshow("OpenCV HelloWorld", img); // 显示图片 cv::waitKey(0); // 等待用户按键,0表示无限等待 cv::destroyAllWindows(); // 关闭所有窗口 return 0; } ``` 在这个程序中,我们使用`imread`函数读取...
4. **链接库**:在项目属性的“Linker”部分,选择“Input”,在“Additional Dependencies”中输入OpenCV所需的库文件,例如“opencv_world341.lib”(或根据实际版本调整)。确保这些库文件存在于你之前添加的...
6. **示例和教程**:OpenCV官方文档提供了一系列的教程和示例代码,帮助开发者快速上手,例如“Hello, World!”的图像显示程序,或者简单的边缘检测、颜色转换等操作。 7. **应用领域**:OpenCV库广泛应用于机器人...
【描述】"HelloWorld of 人脸识别" 进一步揭示了这个项目的内容。人脸识别是一种计算机视觉技术,它涉及图像处理、机器学习和深度学习算法,用于识别人脸并进行相应的操作,如验证、识别或追踪。这里的“HelloWorld...
4. "Hello World"程序:这是编程初学者的入门练习,通过编写简单的打印"Hello World"的程序,可以熟悉Python的基本语法和开发环境的使用。 5. 静态人脸识别案例:这部分内容可能涉及到OpenCV库的应用,OpenCV是一个...
OpenCV(开源计算机视觉库)是一个...总的来说,这些XML文件是OpenCV中用于对象检测的重要资源,特别是人脸和眼睛等关键特征的检测。理解并掌握如何使用这些级联分类器模型,对于进行计算机视觉项目开发具有重要意义。
在实际开发中,OpenCV可以用于多种任务,如图像处理、对象检测、人脸识别、图像分析、视频处理等。了解OpenCV的基本模块,如core、imgproc、highgui、objdetect等,是深入使用的关键。同时,掌握OpenCV的C++接口而非...
在实际应用中,你可能还需要处理图像,例如进行人脸检测、特征识别等。OpenCV提供了丰富的功能,如边缘检测(Canny)、直方图均衡化(equalizeHist)以及各种机器学习算法。 通过这样的结合,Qt的GUI优势和OpenCV的...
1. **3.html、face_tag_friends.html、color_video.html、face_hello_world.html、index.html**: 这些可能是示例网页,展示了如何使用Tracking.js 实现各种功能,如基本的脸部检测、多个人脸标记、彩色视频中的人脸...
seetaface2人脸识别,包括 1 对 1,1 对 N, N 对 N。 是在ubuntu16.04上配置的seetaface2,配合opencv使用,所有代码均完美运行,没有bug。
cv2.putText(gray, 'Hello, World!', (10, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2) ``` 5. **视频保存**:如果你希望将处理后的视频保存下来,可以使用`cv2.VideoWriter()`创建一个VideoWriter...
- **应用场景**:基于图像的人脸检测与识别。 ##### 4.5 人工智能大模型扩展—微调 - **概念**:基于预训练的大模型,通过少量样本进一步训练以适应特定任务。 - **示例**:以ChatGPT为例,通过微调使模型更好地...
d.text((10, 60), "World", font=fnt, fill=(255, 255, 255, 255)) # 写入红色数字 fillcolor = "#ff0000" # 字体颜色 d.text((base.size[0] - 20, 10), "4", font=fnt, fill=fillcolor) ``` 7. **合并图层...