嗨,我正在尝试检测图像中的脖子点。我正在使用asm来检测脸部的特征点,但是我不知道如何检测脖子。是否有任何算法或测量方法可以检测到它?
//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);
最佳答案
经过大量搜索后,我确实找到了找到颈部的更好方法。请注意,它不是100%正确,在个人资料图片中会出错。
我的方法是使用Dlib。尽管OpenCV广泛用于图像处理,但是dlib对图像处理提供了良好的支持,但我更喜欢dlib的是它的简单性。
脚步 :
训练后,您将获得编码的dat文件,该文件可用于脖子检测。您将在dlib解决方案中找到所有解决方案和c++实现。
我使用ASM进行了相同的培训,但是dlib的结果更有希望。
如果需要任何说明,请告诉我。