标记人脸

CvSeq* faces = cvHaarDetectObjects( small_img, cascade, storage,1.1, 2, 0,cvSize(100, 60) /*级联分类器训练中采用的检测目标的尺寸*/);//检测人脸返回矩形人脸
/*使用针对某目标物体训练的级联分类器在图像中找到包含目标物体的矩形区域,并且将这些区域作为一序列的矩形框返回。
函数以不同比例大小的扫描窗口对图像进行几次搜索(察看cvSetImagesForHaarClassifierCascade)。
每次都要对图像中的这些重叠区域利用cvRunHaarClassifierCascade进行检测。*/
//t = (double)cvGetTickCount() - t;

//printf( "detection time = %gms\n", t/((double)cvGetTickFrequency()*1000.) );

for( i = 0; i < (faces ? faces->total : 0); i++ )//找到矩形中心把矩形转换成圆形

{

CvRect* r = (CvRect*)cvGetSeqElem( faces, i );/*直接访问序列中的元素 */

CvPoint center;//OpenCV的基本数据类型之一,表示一个坐标为整数的二维点

int radius;

搜索center.x = cvRound((r->x + r->width*0.5)*scale);

center.y = cvRound((r->y + r->height*0.5)*scale);

radius = cvRound((r->width + r->height)*0.25*scale);//对一个double型的数进行四舍五入,并返回一个整型数!

cvCircle( img, center, radius, colors[i%8], 3, 8, 0 );/*绘制圆形*/

*****************printf("检测到人脸!");********************************

//在此加入人脸识别程序

}
不出意外的话朋友你的代码里面应该有此部分内容吧,要判断检测到人脸的话就是在将矩形人脸标记转换成圆形标记的部分哦。
意思就是说有人脸被标记出来了,那么肯定就存在人脸了哦!

}
提问者评价
起初就是不知道在哪
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值