如何使用openCV检测脸颊?

Posted

技术标签:

【中文标题】如何使用openCV检测脸颊?【英文标题】:How to detect cheeks using openCV? 【发布时间】:2019-06-15 11:49:05 【问题描述】:

我正在使用 Python、openCV、dlib 进行虚拟化妆。目前,我可以得到面部标志,如嘴唇、鼻子、下巴等。但我不太确定能得到脸颊的点。

有什么建议吗?

【问题讨论】:

【参考方案1】:

如果您使用 dlib 68 面部标志,以下是 2 个脸颊的 ROI:

from imutils import face_utils

#face detection part

#rect is the face detected
shape = predictor(gray_img, rect)
shape = face_utils.shape_to_np(shape)

img[shape[29][1]:shape[33][1], shape[54][0]:shape[12][0]] #right cheeks
img[shape[29][1]:shape[33][1], shape[4][0]:shape[48][0]] #left cheek

【讨论】:

感谢您的推荐。这很有帮助。我可以知道您是如何得出脸颊的 ROI 的吗?有文件吗? 我只是看图,选择两个脸颊的坐标,你也可以改变它以适应你的程序。

以上是关于如何使用openCV检测脸颊?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用opencv自带工具训练人脸检测分类器

如何使用 OpenCV 从图像中检测旋转对象?

如何使用 Java 改进 OpenCV 中的人脸检测

如何使用 OpenCV 进行 OCR 和文本检测识别

如何使用opencv从图像中检测文本

如何从底部填充图像,直到使用 OpenCV 检测到边缘?