C# OPENCV haarcascade_frontalface_default.xml怎么写
时间: 2023-08-20 22:06:07 浏览: 160
下面是使用 C# 和 OpenCV 加载 haarcascade_frontalface_default.xml 文件来检测人脸的示例代码:
```
using System;
using System.Drawing;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;
namespace FaceDetection
{
public partial class Form1 : Form
{
private CascadeClassifier _cascadeClassifier;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
// 加载人脸检测器
_cascadeClassifier = new CascadeClassifier("haarcascade_frontalface_default.xml");
}
private void button1_Click(object sender, EventArgs e)
{
// 选择图像文件
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "Image Files (*.jpg, *.png, *.bmp)|*.jpg;*.png;*.bmp";
if (dialog.ShowDialog() == DialogResult.OK)
{
// 加载图像
Mat image = new Mat(dialog.FileName);
// 转换为灰度图像
Mat gray = new Mat();
Cv2.CvtColor(image, gray, ColorConversionCodes.BGR2GRAY);
// 检测人脸
Rect[] faces = _cascadeClassifier.DetectMultiScale(gray);
// 在图像上绘制人脸框
foreach (Rect face in faces)
{
Cv2.Rectangle(image, face, new Scalar(0, 255, 0), 2);
}
// 显示结果
pictureBox1.Image = BitmapConverter.ToBitmap(image);
}
}
}
}
```
注意:需要将 haarcascade_frontalface_default.xml 文件放在与示例代码相同的目录下。另外,需要在项目中添加对 OpenCvSharp 和 OpenCvSharp.Extensions 的引用。
阅读全文