我使用了这段代码:
rect = faces.DetectMultiScale(src.Clone(), 1.1, 3, new Size(80, 80));
代替:
MCvAvgComp[][] facesDetected = gray.DetectHaarCascade(face,1.2,10,Emgu.CV.CvEnum.HAAR_DETECTION_TYPE.DO_CANNY_PRUNING,new Size(20, 20));
然后我想使用此代码:
foreach (MCvAvgComp f in facesDetected[0])
当我使用rect时,如何将foreach转换为我的新代码样式?
答案 0 :(得分:1)
我真的不明白你的问题。您想使用Rectangle
代替MCvAvgComp
吗?
根据MCvAvgComp的文档,您可以使用rect字段:
foreach (MCvAvgComp f in facesDetected[0])
{
Rectangle rect = f.rect;
// ...
}
或者,使用LINQ:
IEnumerable<Rectangle> rects = facesDetected[0].Select(f => f.rect);
foreach (Rectangle rect in rects)
{
// ...
}