C# 利用EMGU-CV检测倒立人脸
我正在尝试使用EMGU CV在图像中进行面部检测。在某些情况下,人脸会在倒置的图像中被检测到。我只需要在人脸笔直时进行人脸检测 为了克服这个问题,我使用了两个额外的级联分类器 右眼和嘴 在得到眼睛和嘴巴的边界矩形后,我检查嘴巴矩形的中心Y坐标是否在眼睛矩形之上C# 利用EMGU-CV检测倒立人脸,c#,opencv,emgucv,C#,Opencv,Emgucv,我正在尝试使用EMGU CV在图像中进行面部检测。在某些情况下,人脸会在倒置的图像中被检测到。我只需要在人脸笔直时进行人脸检测 为了克服这个问题,我使用了两个额外的级联分类器 右眼和嘴 在得到眼睛和嘴巴的边界矩形后,我检查嘴巴矩形的中心Y坐标是否在眼睛矩形之上 var mouthRect= dparameters.hcMouthDetector.DetectMultiScale(image, 1.2, 2, Size.Empty, Size.Empty)[0]; var eyeRect =
var mouthRect= dparameters.hcMouthDetector.DetectMultiScale(image, 1.2, 2, Size.Empty, Size.Empty)[0];
var eyeRect = dparameters.hcEyeDetector.DetectMultiScale(image, 1.2, 2, Size.Empty, Size.Empty)[0];
if (getcenter(mouthRect).Y > getcenter(eyeRect).Y)
{
target.RotateFlip(RotateFlipType.Rotate180FlipNone);
}
获取中心的方法
private static System.Drawing.Point getcenter(Rectangle Rect)
{
return new System.Drawing.Point(Rect.Left + Rect.Width / 2,
}
如果嘴巴矩形的Y坐标在眼睛矩形上方,我们有一个倒置的图像,所以我将其翻转180度
我面临的问题是,在某些图像中,即使图像没有颠倒,也会发生翻转。你有足够的理由意识到这个问题的提出很糟糕。这是不可复制的。您的代码无效。这个问题可能是由您显示的代码之外的许多事情引起的(您的分类器工作正常吗?)@HansKilian分类器工作正常。