Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
openCv中基于YCbCr颜色空间的嘴/唇检测_Opencv_Face Detection - Fatal编程技术网

openCv中基于YCbCr颜色空间的嘴/唇检测

openCv中基于YCbCr颜色空间的嘴/唇检测,opencv,face-detection,Opencv,Face Detection,你好,我正在试着检测口腔或嘴唇的区域。为此,我尝试使用这些论文中描述的方法:,。我只能寄两份文件 他们使用的方法是利用颜色空间YCbCr,因为嘴唇有一个很强的红色成分和一个较弱的蓝色,然后脸的其余部分。因此,您可以像这样使用此颜色空间: LipMap=CRR nCr/CbCrCr-n*Cr/Cb n=0.95*sumCr*Cr/m/sumCr/Cb/m 问题是,所有这些来源并不能真正解释计算是如何进行的。我知道如何获得Cr和Cb的值,但我不能100%确定它们应该在[0,1]或[0255]的范围内

你好,我正在试着检测口腔或嘴唇的区域。为此,我尝试使用这些论文中描述的方法:,。我只能寄两份文件

他们使用的方法是利用颜色空间YCbCr,因为嘴唇有一个很强的红色成分和一个较弱的蓝色,然后脸的其余部分。因此,您可以像这样使用此颜色空间:

LipMap=CRR nCr/CbCrCr-n*Cr/Cb

n=0.95*sumCr*Cr/m/sumCr/Cb/m

问题是,所有这些来源并不能真正解释计算是如何进行的。我知道如何获得Cr和Cb的值,但我不能100%确定它们应该在[0,1]或[0255]的范围内,来源说明了两者。此外,在那之后,我不确定如何从n计算以及LipMap计算中获得正确的值。在计算之前或之后,这些数字是否应该标准化。还有,如何从Cr/Cb和标准化值中得到正确的值,我似乎无法得到正确的值

我已经试着让它工作了几个小时,但我做错了什么。有些价值观最终总是太大了。此外,它们不在[0,1]或[0255]的范围内


如果有人对如何解决这个问题或一些技巧有任何意见,我们将不胜感激。

如果您只是想寻找嘴唇出现在脸上的位置,那么使用haar cascade查找它们可能是值得的。我不知道您是否尝试过这个方法,或者这是否适合您的项目

如果您确实需要使用YUV找到好的阈值设置,您仍然可以使用haar级联来查找嘴,然后在haar拾取的感兴趣区域内拾取一个像素,您知道该区域通常包含嘴唇上的一个像素

该像素将为嘴唇上的随机区域提供YUV值,然后您可以设置图像阈值,以包括与该像素YUV值相似的所有像素。您可以确定在测试期间对该阈值的要求有多严格,然后您应该让嘴巴的所有像素足够接近

希望我已经解释得足够好让你理解


祝你好运

也许我的问题应该更清楚一些。现在,我正在使用haar cascade来获取面部和口腔区域。在口腔区域,我想检测口腔的圆锥体以及舌尖和底部。我想要做的是得到一个清晰的嘴唇轮廓,这样我就可以在顶部、底部和两个角落得到点。好的,所以我建议在你的嘴巴区域找到一个区域,像每个图像中的平均口腔部分,所以也许中间,或者可能在上面/下面,这样就不会在中间。以像素YUV数据为例,然后阈值图像,每个值为50的+/-50只是一个例子,你可以测试一下,这会给你带来一个嘴唇的面具。