std::vector<SeetaFaceInfo> faces = engine.DetectFaces( image_data );
        printf("faces:%d",faces.size());
        if(faces.size() > 0){
            printf("检测到人脸\n");
            for( SeetaFaceInfo &face : faces )
            {
                // Query top 1
                printf("face_height:%d\n",face.pos.height);
                printf("face_width:%d\n",face.pos.width);
                printf("face_X:%d\n",face.pos.x);
                printf("face_Y:%d\n",face.pos.y);
                cv::rectangle(cvImage, cvRect(face.pos.x, face.pos.y, face.pos.width, face.pos.height), cv::Scalar(220, 20, 60, 10), 3);
                
              
                
                
                CGImageRef sourceImageRef = [image CGImage];
                CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, CGRectMake(face.pos.x, face.pos.y, face.pos.width, face.pos.height));
                UIImage *newImage = [UIImage imageWithCGImage:newImageRef scale:1 orientation:UIImageOrientationRight];
                dispatch_async(dispatch_get_main_queue(), ^{
                    weakSelf.imageShow.image = newImage;
                });
                ////保存头像数据
                [weakSelf loadImageFinished:newImage];
                CGImageRelease(sourceImageRef);
//                CGImageRelease(newImageRef);
            }
            dispatch_async(dispatch_get_main_queue(), ^{
                UIImage * endImage = MatToUIImage(cvImage);
               endImage = [UIImage imageWithCGImage:endImage.CGImage
                      scale:endImage.scale
                orientation:UIImageOrientationRight];
                label.text = [NSString stringWithFormat:@"检测到%ld次",count];
            });
            count++;
            printf("检测到人次:%d",count);
            cvReleaseImage(&img);
        }else{
            printf("没有检

1.从opencv官网下载对应的动态库(也可以自己编译);

2.从git..下载seetaFace2的包;

3.导入数据, 参考seetaFace2内部demo;

4. 需要在oc代码中导入c++的内容, 注意修改部分配置;

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐