基于 dlib68 点人脸关键点检测绘制人脸轮廓与五官凸包(完整代码 + 详解)
目录一、项目介绍二、环境安装三、完整可运行代码四、代码核心模块详解1. drawline 连续连线函数2. drawConvexHull 凸包绘制函数3. dlib 68 关键点分区对照表代码用到部分五、运行常见报错解决报错 1找不到 shape_predictor_68_face_landmarks.dat报错 2图片读取为空 (imageNone)报错 3dlib 安装失败六、拓展优化方向七、效果说明一、项目介绍本文使用dlib68 个人脸特征点检测器 OpenCV 实现人脸关键点可视化绘制脸部外轮廓、左右眉毛、鼻梁轮廓连线对左右眼睛、外嘴唇、内嘴唇求取凸包并绘制闭合轮廓依赖numpy、dlib、opencv-python需提前下载 68 点特征预测模型文件二、环境安装pip install numpy dlib opencv-python注意dlib 安装失败可先安装 cmake、vs 编译工具 模型文件下载shape_predictor_68_face_landmarks.dat解压后和代码放同一目录三、完整可运行代码import numpy as np import dlib import cv2 def drawline(start, end): 绘制连续关键点连线 :param start: 起始关键点索引 :param end: 结束关键点索引 # 截取对应区间关键点 pts shape[start:end] # 依次连接相邻点 for l in range(1, len(pts)): ptA tuple(pts[l - 1]) ptB tuple(pts[l]) # 绿色线条线宽2 cv2.line(image, ptA, ptB, (0, 255, 0), 2) def drawConvexHull(start, end): 对指定区间关键点绘制凸包闭合轮廓眼/嘴使用 :param start: 起始关键点索引 :param end: 结束关键点索引 # 截取五官关键点 Facial shape[start:end 1] # 计算凸包 mouthHull cv2.convexHull(Facial) # 绘制凸包轮廓-1表示填充所有轮廓 cv2.drawContours(image, [mouthHull], -1, (0, 255, 0), 2) # 1. 读取图片 image cv2.imread(zjj1.jpg) # 2. 初始化dlib人脸检测器 detector dlib.get_frontal_face_detector() # 第二个参数0代表不做图像上采样速度更快设1精度更高速度慢 faces detector(image, 0) # 3. 加载68点关键点预测器 predictor dlib.shape_predictor(shape_predictor_68_face_landmarks.dat) # 遍历检测到的所有人脸 for face in faces: # 获取当前人脸68个关键点 shape predictor(image, face) # 将dlib关键点对象转为numpy数组 [[x1,y1],[x2,y2]...] shape np.array([[p.x, p.y] for p in shape.parts()]) # 绘制五官凸包 drawConvexHull(36, 41) # 左眼凸包 drawConvexHull(42, 47) # 右眼凸包 drawConvexHull(48, 59) # 外嘴唇凸包 drawConvexHull(60, 67) # 内嘴唇凸包 # 绘制人脸连续轮廓线 drawline(0, 17) # 下颌轮廓下巴脸颊下半部分 drawline(17, 22) # 右眉毛 drawline(22, 27) # 左眉毛 drawline(27, 36) # 鼻梁鼻底轮廓 # 窗口展示结果 cv2.imshow(frame, image) # 等待任意按键退出 cv2.waitKey() # 销毁所有窗口 cv2.destroyAllWindows()四、代码核心模块详解1. drawline 连续连线函数功能把一段连续的 68 点依次用直线连接用于脸部、眉毛、鼻梁这类长条连续区域。 逻辑切片取出start~end所有关键点循环相邻两个点调用cv2.line绘制绿色线段2. drawConvexHull 凸包绘制函数眼睛、嘴唇是闭合环形区域单纯连线会有凹陷使用凸包包裹整个五官区域cv2.convexHull计算点集最小凸多边形cv2.drawContours画出闭合凸包轮廓3. dlib 68 关键点分区对照表代码用到部分表格索引区间对应部位绘制方式0~17下颌脸颊直线连线17~22右眉直线连线22~27左眉直线连线27~36鼻子轮廓直线连线36~41左眼凸包42~47右眼凸包48~59外唇凸包60~67内唇凸包五、运行常见报错解决报错 1找不到 shape_predictor_68_face_landmarks.dat解决下载官方 68 点模型将 dat 文件和.py代码放在同一个文件夹或传入绝对路径如predictor dlib.shape_predictor(C:/xxx/shape_predictor_68_face_landmarks.dat)报错 2图片读取为空 (imageNone)图片文件名写错区分大小写图片和代码不在同一目录使用绝对路径读取图片损坏更换 jpg/png 图片测试报错 3dlib 安装失败Windows先安装 VS2019/2022 C 开发组件、cmakepip install cmake pip install dlib六、拓展优化方向更换线条颜色、粗细区分五官眼睛蓝色、嘴唇红色循环遍历摄像头实时人脸关键点检测cv2.VideoCapture提取眼 / 嘴关键点坐标做疲劳检测、表情识别增加关键点圆点绘制直观看到 68 个点位七、效果说明运行后弹出窗口人脸区域会用绿色线条画出脸部、眉毛、鼻梁双眼、嘴唇会自动生成闭合凸包轮廓完整勾勒人脸五官结构。

相关新闻

ArcGIS Pro 3.2 成本路径分析实战:3因子加权建模与路径生成全流程

ArcGIS Pro 3.2 成本路径分析实战:3因子加权建模与路径生成全流程

ArcGIS Pro 3.2 三因子加权成本路径建模实战:从数据准备到路径优化 在空间规划与资源管理中,如何找到经济效益最优的路径一直是核心课题。ArcGIS Pro 3.2的成本路径分析工具通过多因子加权建模,将坡度、起伏度和土地利用等空间变量转化为可量…

2026/7/11 3:13:56阅读更多 →
Meta加拿大首座AI园区的建设核心:提前数年锁定电力资源

Meta加拿大首座AI园区的建设核心:提前数年锁定电力资源

Meta加拿大首座数据中心将在阿尔伯塔省斯特金县拔地而起,这是一笔超过90亿美元(约合130亿加元)的重大投资,建成后将形成一座1吉瓦级AI园区。项目在建设高峰期预计雇用约3000名建筑工人,正式运营后将提供逾300个永久就业…

2026/7/11 3:08:56阅读更多 →
AI智能体发展挑战与突破:从技术原理到应用实践

AI智能体发展挑战与突破:从技术原理到应用实践

最近Meta CEO扎克伯格公开承认AI智能体发展不及预期,这一表态在AI行业引起了广泛关注。作为AI领域的重要发展方向,AI智能体本应成为下一代人工智能的核心,但现实发展却面临诸多挑战。1. AI智能体技术现状分析从技术层面看,AI智能体…

2026/7/11 3:08:56阅读更多 →
OpenClaw双轨部署:打通计算巢与本地开发的Skills协同体系

OpenClaw双轨部署:打通计算巢与本地开发的Skills协同体系

1. 项目概述:为什么2026年OpenClaw部署必须同时打通计算巢与本地双轨2026年,OpenClaw已不再是那个需要手动敲几十行命令、改七八个配置文件才能跑起来的实验性工具。它正快速演进为一个真正可落地的企业级AI代理平台——但这个“可落地”,恰恰…

2026/7/11 4:04:00阅读更多 →
Vue3 Provide/Inject 响应式陷阱:3 种场景下的数据更新失效分析与修复

Vue3 Provide/Inject 响应式陷阱:3 种场景下的数据更新失效分析与修复

Vue3 Provide/Inject 响应式陷阱:3 种典型场景的深度解析与实战修复方案 在Vue3的组件通信体系中,Provide/Inject机制为跨层级数据传递提供了优雅的解决方案。然而在实际开发中,开发者常常会遇到响应式数据突然"失活"的诡异现象。本…

2026/7/11 4:04:00阅读更多 →
遇南三重庆火锅氛围感拉满?新手选火锅避坑+选购标准全攻略

遇南三重庆火锅氛围感拉满?新手选火锅避坑+选购标准全攻略

一、火锅就餐常见痛点,新手必看避坑指南当下火锅市场品类繁多,不少新手就餐时容易踩坑,不仅影响体验,还会浪费时间和金钱,这些常见痛点你是否遇到过?1. 场景体验差:多数商圈火锅店空间封闭拥挤&…

2026/7/11 4:04:00阅读更多 →
AI动态聚合系统:自动化追踪技术趋势与开源项目

AI动态聚合系统:自动化追踪技术趋势与开源项目

最近在跟进AI领域的最新进展时,发现每天都有大量新论文、新模型和开源项目发布,信息量巨大且分散。为了帮助大家更高效地捕捉关键动态,本文将整合一套从信息搜集、筛选到本地验证的完整流程,并提供一个可定制的自动化信息聚合脚本…

2026/7/11 4:04:00阅读更多 →
Gluon重构GDN prefill kernel:Blackwell硬件原生优化实践

Gluon重构GDN prefill kernel:Blackwell硬件原生优化实践

1. 项目概述:为什么GDN prefill kernel值得用Gluon重写我从2022年开始做推理引擎底层优化,踩过Hopper架构上WGMMA寄存器溢出的坑,也经历过Triton自动调度把shared memory用爆却找不到原因的深夜调试。这次Qwen3.5/GDN prefill kernel的Gluon重…

2026/7/11 4:04:00阅读更多 →
统好AI:车间可视化闭环,打通报工包装与数据统计

统好AI:车间可视化闭环,打通报工包装与数据统计

一、离散制造车间普遍的数据割裂难题机械、模切、零部件加工这类多工序定制工厂,生产执行环节长期存在信息断层问题,集中体现在四个核心场景:1. 报工管理断层单工序简易加工、多工序复合生产混用车间,大多依靠纸质流转单、微信群填…

2026/7/11 3:59:00阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/10 12:10:00阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/10 12:29:21阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/10 4:59:05阅读更多 →
Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

1. 为什么2025版PR安装比以往更“磨人”?——从弹窗警告到路径陷阱的真实处境 Premiere Pro 2025版不是简单的一次版本迭代,它是一道分水岭。我从去年底开始帮影视工作室、高校剪辑实验室和自由职业者部署2025环境,累计处理了137台设备&#…

2026/7/11 0:03:43阅读更多 →
5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors/op/open-so…

2026/7/11 0:03:43阅读更多 →
5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:03:43阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/10 13:39:09阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/10 22:20:33阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/10 17:29:22阅读更多 →