从人脸图像中提取头发像素的简单方法

时间:2013-11-11 03:01:00

标签: opencv image-processing computer-vision image-manipulation face-detection

免责声明:我正在寻找一种在所有条件下都能运行和/或需要对图像进行复杂分析的强大方法(例如http://vis-www.cs.umass.edu/lfw/part_labels/)。因此,请不要将我链接到存在的头发分割的许多论文之一。我正在寻找快速而简单的东西(不是非常强大)。

话虽这么说,我的目标是在人脸图像中提取包含头发的区域。如果我能够获得至少一些微小的像素集,我确定是头发像素,那么我可以使用几种算法中的一种来找到其余的(例如,“photoshop魔术棒”类型算法)。

一个例子(左侧是原始面,右侧是梯度大小):

http://imgur.com/YX85MKB

以下是我可以访问的有关人脸任何图像的信息:重要特征的所有位置(例如,鼻子,眼睛,嘴巴和下巴)。寻找头发像素的一种愚蠢/简单方法可能是进行边缘检测,从鼻子开始工作直到找到两个“水平边缘”,我们假设它们是头发的下边界和上边界,然后从中取样 - 之间。

有关其他简单方法的任何想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用简单的数学,而不是使用图像处理技术(边缘检测)。你说你知道鼻子,眼睛,嘴巴和下巴在哪里。从这些身体部位之间的距离,您当然可以确定从眼睛向上看头发的距离。我不确定你可以使用哪种距离比,但是头发肯定不比眼睛和下巴之间的距离长10倍。 显然,这种技术并非防秃。