人脸关键点

简介: 【6月更文挑战第7天】

加载必须的第三方库
读取图像

image.png

调用检测接口检测人脸关键点
引入utils.face.face_keypoints() 函数
检测图像中的人脸关键点
在图像中渲染人脸关键点
引入utils.face.draw_points() 函数
根据坐标在图像中渲染指定颜色、指定大小的关键点

face_keypoints(image)参数含义如下:

image:贴纸图像
返回值:人脸关键点列表
draw_points(image, pts, size = 2, color = (255, 0, 0))参数含义如下:
image.png

image:待渲染图像
pts:关键点坐标数组
size:绘制点的半径,默认值: 2
color:颜色值元组,默认为(255, 0, 0)-红色
返回值:绘制关键点后的图像
在 OpenCV 中,cv2.imread() 函数用于读取文件路径指定的图像。这段代码 image = cv2.imread("./img_data/yh_color.jpg")[:, :, ::-1] 执行了两个主要操作:

  1. 读取图像cv2.imread("./img_data/yh_color.jpg") 这行代码尝试从当前目录下的 img_data 文件夹中读取名为 yh_color.jpg 的图像文件。返回的 image 是一个 NumPy 数组,其包含了图像的数据。

  2. 通道顺序反转[:, :, ::-1] 这部分代码是对读取的图像数组进行切片操作,目的是反转图像的颜色通道顺序。在 OpenCV 中,默认情况下,图像的通道顺序是 BGR(蓝、绿、红),而不是常见的 RGB(红、绿、蓝)。[::-1] 是一个切片操作符,它从数组的末尾开始向前取值,步长为-1,意味着它将数组中的元素顺序完全反转。

详细解释一下 [:, :, ::-1]

  • : 表示选择所有行和所有列,即不改变行和列的顺序。
  • [:, :, ::-1] 表示选择所有行、所有列,但对颜色通道进行完全反转。

因此,当你对一个图像使用 [:, :, ::-1] 时,如果图像是 BGR 格式,它将被转换为 RGB 格式。这对于需要将图像用于某些特定库(如matplotlib,它使用 RGB)或者在显示图像时保持颜色的正确性是非常有用的。

举个例子,如果你使用 matplotlib 显示图像,你需要确保图像的通道顺序是 RGB,否则颜色会显示不正确。在这种情况下,你可以使用 matplotlib.pyplot.imshow(image[:, :, ::-1]) 来显示图像,其中 image 是通过 OpenCV 读取的图像。

目录
相关文章
|
1月前
|
机器学习/深度学习 算法 Shell
【实操:人脸矫正】两次定位操作解决人脸矫正问题
【实操:人脸矫正】两次定位操作解决人脸矫正问题
83 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
yolov8人脸识别-脸部关键点检测(代码+原理)
yolov8人脸识别-脸部关键点检测(代码+原理)
499 0
|
编解码 数据可视化 API
如果实现图像人脸融合?
本文介绍的API接口是阿里云视觉智能开放平台的图像人脸融合,用以演示。
832 1
如果实现图像人脸融合?
|
固态存储 计算机视觉 异构计算
一起来学MediaPipe(一)人脸及五官定位检测
一起来学MediaPipe(一)人脸及五官定位检测
2950 0
一起来学MediaPipe(一)人脸及五官定位检测
|
7天前
人脸关键点识别
【6月更文挑战第21天】
10 4
人脸关键点识别
|
8天前
|
机器学习/深度学习 计算机视觉
人脸关键点
【6月更文挑战第20天】
18 5
|
23天前
|
算法 计算机视觉 Python
SIFT关键点检测
【6月更文挑战第5天】SIFT关键点检测。
18 4
|
14天前
|
机器学习/深度学习 XML 算法
第5章 人脸检测和识别
第5章 人脸检测和识别
|
1月前
|
机器学习/深度学习 人工智能 图计算
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
48 0
|
11月前
|
人工智能