当前位置: 首页 > wzjs >正文

信誉好的江苏网站建设seo查询系统

信誉好的江苏网站建设,seo查询系统,软件工程培训班多少钱,旅游网站html5代码模板文章目录 一、人脸面部轮廓绘制代码实现1、定义绘制直线段的函数2、定义绘制凸包轮廓的函数3、读取输入图像4、初始化dlib的人脸检测器5、使用检测器在图像中检测人脸(参数0表示不进行图像缩放)6、加载dlib的68点人脸关键点预测模型7、遍历检测到的每个人…

文章目录

  • 一、人脸面部轮廓绘制代码实现
    • 1、定义绘制直线段的函数
    • 2、定义绘制凸包轮廓的函数
    • 3、读取输入图像
    • 4、初始化dlib的人脸检测器
    • 5、使用检测器在图像中检测人脸(参数0表示不进行图像缩放)
    • 6、加载dlib的68点人脸关键点预测模型
    • 7、遍历检测到的每个人脸
    • 8、显示处理后的图像
  • 总结


一、人脸面部轮廓绘制代码实现

import numpy as np
import dlib
import cv2

1、定义绘制直线段的函数

def drawLine(start, end):# 从形状数组中获取起点到终点的所有点pts = shape[start:end]# 遍历这些点,依次连接相邻点for l in range(1, len(pts)):# 获取前一个点ptsA = tuple(pts[l-1])# 获取当前点ptsB = tuple(pts[l])# 在图像上绘制连接这两个点的绿色线段cv2.line(image, ptsA, ptsB, (0, 245, 0), 2)

2、定义绘制凸包轮廓的函数

def drawConvexHull(start, end):# 从形状数组中获取指定范围内的点Facial = shape[start:end+1]# 计算这些点的凸包(最小凸多边形)mouthHull = cv2.convexHull(Facial)   # 凸包函数# 在图像上绘制凸包轮廓(绿色)cv2.drawContours(image, [mouthHull], -1, (0, 255, 0), 2)

3、读取输入图像

image = cv2.imread('../data/man.png')

4、初始化dlib的人脸检测器

detector = dlib.get_frontal_face_detector()

5、使用检测器在图像中检测人脸(参数0表示不进行图像缩放)

faces = detector(image, 0)

6、加载dlib的68点人脸关键点预测模型

predictor = dlib.shape_predictor('../data/shape_predictor_68_face_landmarks.dat')

7、遍历检测到的每个人脸

for face in faces:# 对当前人脸进行关键点预测shape = predictor(image, face)# 将关键点转换为numpy数组格式 [[x1, y1], [x2, y2], ...]shape = np.array([[p.x, p.y] for p in shape.parts()])# 绘制右眼凸包(关键点36-42)drawConvexHull(36, 42)# 绘制左眼凸包(关键点42-47)drawConvexHull(42, 47)# 绘制上嘴唇凸包(关键点48-59)drawConvexHull(48, 59)# 绘制下嘴唇凸包(关键点60-67)drawConvexHull(60, 67)# 绘制下巴轮廓(关键点0-17)drawLine(0, 17)# 绘制右眉毛轮廓(关键点17-22)drawLine(17, 22)# 绘制左眉毛轮廓(关键点22-27)drawLine(22, 27)# 绘制鼻梁轮廓(关键点27-36)drawLine(27, 36)

8、显示处理后的图像

cv2.imshow('image', image)
# 等待用户按键
cv2.waitKey(0)
# 关闭所有OpenCV窗口
cv2.destroyAllWindows()

效果展示
在这里插入图片描述

代码中使用的关键点索引对应人脸的不同部位:
在这里插入图片描述

眼睛区域:

36-42:右眼轮廓(从右眼角开始顺时针)42-47:左眼轮廓(从左眼角开始顺时针)

嘴唇区域:

48-59:上嘴唇轮廓60-67:下嘴唇轮廓

面部轮廓:

0-16:下巴和脸颊轮廓(代码中绘制0-17,包含17个点)17-21:右眉毛22-26:左眉毛27-35:鼻子(代码中绘制27-36)

函数功能说明
drawLine(start, end) 函数:

功能:连接一系列关键点形成直线段参数:起始索引和结束索引实现:获取索引范围内的点,依次连接相邻点

drawConvexHull(start, end) 函数:

功能:计算并绘制关键点的凸包轮廓参数:起始索引和结束索引实现:计算最小凸多边形并绘制轮廓优势:比简单连线更平滑,能更好捕捉曲线特征

总结

这种组合方法(凸包+直线连接)在保持效率的同时,能够准确描绘人脸的主要特征轮廓,适用于人脸分析、AR滤镜等应用场景。


文章转载自:

http://0n6RGAMz.wmLby.cn
http://bIk65WR3.wmLby.cn
http://5Lee3nbo.wmLby.cn
http://ngRgJlJe.wmLby.cn
http://SoDjcQMy.wmLby.cn
http://RrZyh3oU.wmLby.cn
http://m5gupbzX.wmLby.cn
http://ixgTsq3Y.wmLby.cn
http://SxLD6uOz.wmLby.cn
http://gPSKITw6.wmLby.cn
http://mx5fIa7y.wmLby.cn
http://r062Dq48.wmLby.cn
http://yfbQefiF.wmLby.cn
http://wIOEaV56.wmLby.cn
http://v51qXFGL.wmLby.cn
http://fzB1D1Ec.wmLby.cn
http://qUq6PCzr.wmLby.cn
http://1mXjH6N4.wmLby.cn
http://Jb1uwInc.wmLby.cn
http://o6oYSHBu.wmLby.cn
http://2JaTfGnt.wmLby.cn
http://s4Mu4wUC.wmLby.cn
http://UVH4EXri.wmLby.cn
http://6tIBwOiG.wmLby.cn
http://WkcvG4QU.wmLby.cn
http://dvETpgNG.wmLby.cn
http://POB6w1wB.wmLby.cn
http://1t4qhWf0.wmLby.cn
http://gutH5jYl.wmLby.cn
http://RM0tZZJ3.wmLby.cn
http://www.dtcms.com/wzjs/660404.html

相关文章:

  • 花店网站建设课程设计网站建设与管理模拟题1
  • 网站建设福免费建站网站排名
  • 设计网站建设公司怎么对网站标注做记号
  • 网站批量上传服务器网上销售哪些平台免费
  • 南昌企业网站开发利用wordpress打包成百度小程序
  • 如何做百度推广网站门户网站做免费相亲的
  • 成都网站品牌设计我的wordpress不显示图片
  • 手机网站什么意思广告创意设计是什么
  • 网站门户是什么意思网站运营与管理的一个目的是
  • wordpress评论区插件谷歌seo快速排名软件首页
  • 做网站用的软件有哪些制作网站的公司
  • 网站用什么软件编写那个网站ppt做的比较好
  • 网站改版seo建议做网站那个公司
  • 设计网站需要的知识wordpress手册插件
  • 在哪里做卖车网站免费影视logo在线设计
  • 个人建立网站网站开发流程分为哪3个阶段
  • 常用来做网站首页的是做网站价格 网络推广托管服务
  • 应用分析网站更改wordpress登录图标
  • 手机网站自助一站式建站企业网站和
  • 网站优化防范乐陵seo公司
  • 网站建设工具有哪些品牌昆明企业公司网站建设
  • 自己能否建设网站淘客网站是怎么做的
  • 网站建设系统 网站自助建站系统深圳工业设计培训班
  • 站长工具seo综合查询怎么看数据女儿玩手机到深夜23点怎么办
  • 做网站按什么收费百度移动网站检测
  • 兰州seo整站优化服务商公司品牌宣传方案
  • 做手机网站费用wordpress 年月归档
  • 衡水提供网站制作公司哪家专业百度网盘怎么增大免费空间
  • 网站开发课程设计总结门户网站开发过程视频
  • 专门做宠物食品的网站京津冀协同发展现状