开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 35582|回复: 242
收起左侧

[易源码分享] 人脸面部实时跟踪,特征68个点位自由绘制

    [复制链接]
结帖率:100% (6/6)
发表于 2019-6-16 15:01:47 | 显示全部楼层 |阅读模式   河北省廊坊市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 宇智波·佐助 于 2019-6-17 10:00 编辑
调用OpenCV计算器视觉库    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。


应用领域:
1、人机互动
2、物体识别
3、图像分割
4、人脸识别
5、动作识别
6、运动跟踪
7、机器人
8、运动分析
9、机器视觉
10、结构分析
11、汽车安全驾驶

OpenCV部分汉化文档:http://www.opencv.org.cn/opencvdoc/2.3.2/html/index.html
OpenCV的接口不能被易语言调用,所以这里使用的是封装后的DLL


GIF加载需要一点时间....


面部位置识别:https://bbs.125.la/forum.php?mod=viewthread&tid=14391255
参考项目:https://github.com/amusi/opencv-facial-landmark-detection
  1. #include <opencv2/opencv.hpp>
  2. #include <opencv2/face.hpp>
  3. #include "drawLandmarks.hpp"


  4. using namespace std;
  5. using namespace cv;
  6. using namespace cv::face;


  7. int main(int argc,char** argv)
  8. {
  9.     // 加载人脸检测器(Face Detector)
  10.         // [1]Haar Face Detector
  11.     //CascadeClassifier faceDetector("haarcascade_frontalface_alt2.xml");
  12.         // [2]LBP Face Detector
  13.         CascadeClassifier faceDetector("lbpcascade_frontalface.xml");

  14.     // 创建Facemark类的对象
  15.     Ptr<Facemark> facemark = FacemarkLBF::create();

  16.     // 加载人脸检测器模型
  17.     facemark->loadModel("lbfmodel.yaml");

  18.     // 设置网络摄像头用来捕获视频
  19.     VideoCapture cam(0);
  20.    
  21.     // 存储视频帧和灰度图的变量
  22.     Mat frame, gray;
  23.    
  24.     // 读取帧
  25.     while(cam.read(frame))
  26.     {
  27.       
  28.       // 存储人脸矩形框的容器
  29.       vector<Rect> faces;
  30.           // 将视频帧转换至灰度图, 因为Face Detector的输入是灰度图
  31.       cvtColor(frame, gray, COLOR_BGR2GRAY);

  32.       // 人脸检测
  33.       faceDetector.detectMultiScale(gray, faces);
  34.       
  35.           // 人脸关键点的容器
  36.       vector< vector<Point2f> > landmarks;
  37.       
  38.           // 运行人脸关键点检测器(landmark detector)
  39.       bool success = facemark->fit(frame,faces,landmarks);
  40.       
  41.       if(success)
  42.       {
  43.         // 如果成功, 在视频帧上绘制关键点
  44.         for(int i = 0; i < landmarks.size(); i++)
  45.         {
  46.                         // 自定义绘制人脸特征点函数, 可绘制人脸特征点形状/轮廓
  47.                         drawLandmarks(frame, landmarks[i]);
  48.                         // OpenCV自带绘制人脸关键点函数: drawFacemarks
  49.                         drawFacemarks(frame, landmarks[i], Scalar(0, 0, 255));
  50.         }
  51.         
  52.       }

  53.       // 显示结果
  54.       imshow("Facial Landmark Detection", frame);

  55.       // 如果按下ESC键, 则退出程序
  56.       if (waitKey(1) == 27) break;
  57.       
  58.     }
  59.     return 0;
  60. }
复制代码

TIM截图20190616144852.jpg


下载源码(整体文件共61.3 MB):
链接: https://share.weiyun.com/506Ec1e

评分

参与人数 12好评 +11 精币 +20 收起 理由
尼玛炸了poi + 1 + 1 新技能已get√
回忆il + 1 + 2 支持开源~!感谢分享
W390983940 + 1 + 2 新技能已get√
我是神基本 + 1 + 2 支持开源~!感谢分享
pzypdl + 1 + 1 支持开源~!感谢分享
易道人生 + 2 新技能已get√
fnp902003 + 1 + 2 支持开源~!感谢分享
紫罗兰VAV + 1 + 2 支持开源~!感谢分享
恰似清风吹过 + 1 + 2 不给好评对不起作者大大啊!!
皮皮驴 + 1 感谢分享,很给力!~
1301ok + 1 支持开源~!感谢分享
温xun + 1 + 4 支持开源~!感谢分享

查看全部评分


本帖被以下淘专辑推荐:

结帖率:100% (6/6)

签到天数: 3 天

 楼主| 发表于 2019-12-10 18:39:16 | 显示全部楼层   天津市天津市
如果运行代码提示缺少xxxxx.dll 或 无法找到xxxxx.dll中的xxxxxxx。
请先安装 VC++2015运行库(Visual C++ Redistributable for Visual Studio 2015)32位【安装32位,32位,32位的!重要的事情说三遍】
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
发表于 2023-11-17 14:30:27 | 显示全部楼层   福建省漳州市
把墙也识别成人脸了,这种情况是不是 得自己 再重新训练啊??     还有怎么识别序列帧,我把视频转成序列帧了, 帧数对比视频减少了, 我只需要识别每帧的人脸位置。,或者对原视频进行跳帧识别也行。
屏幕截图 2023-11-17 142751.png
回复 支持 反对

使用道具 举报

结帖率:72% (23/32)

签到天数: 8 天

发表于 2023-11-15 12:35:24 | 显示全部楼层   广西壮族自治区南宁市
容易把其他东西也识别成脸……(旁边无中生有一个小脸吓我一跳) QQ截图20231115123344.bmp
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
发表于 2023-11-15 11:47:30 | 显示全部楼层   福建省漳州市
你好 ,怎么获取 脸部左右转头的角度。
回复 支持 反对

使用道具 举报

结帖率:50% (3/6)
发表于 2022-12-19 13:59:00 | 显示全部楼层   湖南省怀化市
开源精神必须支持~
回复 支持 反对

使用道具 举报

结帖率:0% (0/4)

签到天数: 2 天

发表于 2022-11-3 15:58:49 高大上手机用户 | 显示全部楼层   浙江省金华市
这就是大佬吗,赶紧下载学习!!!
回复 支持 反对

使用道具 举报

发表于 2022-10-12 09:42:02 | 显示全部楼层   浙江省绍兴市
学习了,谢谢
回复 支持 反对

使用道具 举报

发表于 2021-8-31 19:42:53 | 显示全部楼层   河北省唐山市
nihaodawdawdwadawdaw
回复 支持 反对

使用道具 举报

发表于 2021-8-19 23:54:18 | 显示全部楼层   广东省广州市
这就是大佬吗,赶紧下载学习!!!
回复 支持 反对

使用道具 举报

发表于 2020-12-16 14:12:43 | 显示全部楼层   湖北省天门市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2020-11-25 09:54:37 | 显示全部楼层   湖北省襄阳市
厉害。虽然新手一脸懵逼
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表