本文整理汇总了C#中Emgu.CV.Capture.?.QueryFrame方法的典型用法代码示例。如果您正苦于以下问题:C# Capture.?.QueryFrame方法的具体用法?C# Capture.?.QueryFrame怎么用?C# Capture.?.QueryFrame使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Emgu.CV.Capture
的用法示例。
在下文中一共展示了Capture.?.QueryFrame方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetDetectedSnippets
/// <summary>
/// Makes a snapshot and gets the snippets where a face was detected.
/// </summary>
/// <param name="capture">The capture.</param>
/// <param name="processType">Type of the process.</param>
/// <returns>A <see cref="List{PreviewImage}"/> containing all captured images.</returns>
public List<PreviewImage> GetDetectedSnippets(Capture capture)
{
var mat = capture?.QueryFrame();
var imageList = new List<PreviewImage>();
if (mat == null)
return imageList;
var imageframe = mat.ToImage<Bgr, byte>();
var grayframe = imageframe.Convert<Gray, byte>();
Rectangle[] faces;
try
{
faces = _cascadeFrontDefault.DetectMultiScale(grayframe, 1.2, 10, Size.Empty);
}
catch (Exception ex)
{
Debug.WriteLine("Could not process snapshot: " + ex);
return imageList;
}
foreach (var face in faces)
{
grayframe.ROI = face;
var detectedGrayframe = grayframe.Copy();
grayframe.ROI = Rectangle.Empty;
imageframe.ROI = face;
var detectedImage = imageframe.Copy();
imageframe.ROI = Rectangle.Empty;
imageList.Add(new PreviewImage(detectedImage, detectedGrayframe));
}
return imageList;
}