基于opencv的颈部检测
您好,我正在尝试检测图像中的颈部点。我正在使用asm检测面部的特征点,但我不知道如何检测颈部。是否有任何算法或测量方法来检测它基于opencv的颈部检测,opencv,Opencv,您好,我正在尝试检测图像中的颈部点。我正在使用asm检测面部的特征点,但我不知道如何检测颈部。是否有任何算法或测量方法来检测它 //code ASM asmDetector.GetASMDetectedPoint(7, chin); asmDetector.GetASMDetectedPoint(4, leftCheek); asmDetector.GetASMDetectedPoint(10, rightCheek); //Neck detection float rightNeck
//code ASM asmDetector.GetASMDetectedPoint(7, chin);
asmDetector.GetASMDetectedPoint(4, leftCheek);
asmDetector.GetASMDetectedPoint(10, rightCheek);
//Neck detection
float rightNeckX = rightCheek.x;
float rightNeckY = chin.y + ((chin.y - rightCheek.y) / 2);
float leftNeckX = leftCheek.x;
float leftNeckY = chin.y + ((chin.y - leftCheek.y) / 2);
leftNeck = CPoint2D(leftNeckX, leftNeckY);
rightNeck = CPoint2D(rightNeckX, rightNeckY);
在这种情况下,我们可以使用OpenCV检测人脸,然后将点设置到人脸的下部,然后我们可以像检测到颈部一样进行操作 很抱歉,但事实上,并没有任何其他精确的方法可以完美地检测颈部
如果有人有更好的想法,那么他们是最受欢迎的。您可以使用Haar分类器进行人脸检测,并结合皮肤检测器。
然后,你只需要从包含检测到的皮肤表面的整个提取面具中减去面部。经过大量搜索,我找到了更好的方法来找到颈部点。请注意,它不是100%正确,并且会在配置文件图像中出错 我的方法是使用。虽然OpenCV广泛用于图像处理,但dlib对图像处理有很好的支持,但我更喜欢dlib的简单性 步骤:
如果您需要任何澄清,请告诉我 我所做的是使用71分训练Dlib模型(68分Dlib+2分用于耳朵,1分用于颈部)
用你迄今为止尝试过的代码解释……问题中的更新代码请检查与脸颜色相同的东西,紧靠下巴下方。不适用于所有情况。取决于人穿什么……对于领子T恤,它将起作用,但对于其他情况,如女孩头发覆盖颈部。放弃。你无法检测到颈部(没有“特征”,而且它总是被头发/衣服遮挡),你只能从已经获得的数据中推断出来。链接已断开。得到404。