c# emgu.cv 使用例子
时间: 2023-07-11 18:26:00 浏览: 101
以下是一个使用Emgu.CV进行人脸识别的例子:
```csharp
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
using System.Collections.Generic;
// 加载训练好的人脸识别器
CascadeClassifier faceCascade = new CascadeClassifier("haarcascade_frontalface_default.xml");
// 加载测试图像
Image<Bgr, byte> image = new Image<Bgr, byte>("test.jpg");
// 转换为灰度图像
Image<Gray, byte> grayImage = image.Convert<Gray, byte>();
// 检测人脸
Rectangle[] faces = faceCascade.DetectMultiScale(grayImage, 1.1, 3, Size.Empty);
// 遍历每个人脸并在图像上绘制边框
foreach (Rectangle face in faces)
{
image.Draw(face, new Bgr(Color.Red), 2);
}
// 显示图像
CvInvoke.Imshow("人脸识别", image);
// 等待按键
CvInvoke.WaitKey(0);
// 释放资源
CvInvoke.DestroyAllWindows();
```
这个例子加载了一个JPEG测试图像和一个训练好的人脸识别器,然后将测试图像转换为灰度图像,并使用人脸识别器检测人脸。最后,遍历每个检测到的人脸,并在原始图像上绘制边框。最终将结果显示在窗口中,并等待用户按下任意键后释放所有资源。
阅读全文