将foreach(MCvAvgComp..)转换为rect的foreach

本文关键字:foreach rect 转换 MCvAvgComp | 更新日期: 2023-09-27 18:20:07

我使用了以下代码:

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转换为新的代码样式

将foreach(MCvAvgComp..)转换为rect的foreach

我真的不明白你的问题。是否要使用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)
{
   // ...
}