我不懂里面的技术细节实现,大公司也难以去研究开发它。我们普通人只需要在项目中会使用它即可。再难的技术也不难了。我们只做应用,不搞科研。
1.还是用chatGPT来写。
using Emgu.CV;
using Emgu.CV.Structure;
using Emgu.CV.CvEnum;
class Program
{
static void Main(string[] args)
{
// 创建摄像头捕获对象
VideoCapture capture = new VideoCapture();
// 创建人脸检测器对象
CascadeClassifier faceCascade = new CascadeClassifier("haarcascade_frontalface_default.xml");
// 打开摄像头
capture.Start();
// 创建窗口显示图像
CvInvoke.NamedWindow("人脸检测");
while (true)
{
// 从摄像头中获取图像
Mat frame = capture.QueryFrame();
// 转换为灰度图像进行人脸检测
Mat grayFrame = new Mat();
CvInvoke.CvtColor(frame, grayFrame, ColorConversion.Bgr2Gray);
// 在灰度图像中检测人脸
Rectangle[] faces = faceCascade.DetectMultiScale(grayFrame, 1.1, 3, Size.Empty);
// 在图像中画出检测到的人脸矩形
foreach (Rectangle face in faces)
{
CvInvoke.Rectangle(frame, face, new Bgr(Color.Red).MCvScalar, 2);
}
// 显示图像
CvInvoke.Imshow("人脸检测", frame);
// 等待按下ESC键退出
if (CvInvoke.WaitKey(1) == 27)
break;
}
// 停止摄像头,并释放资源
capture.Stop();
CvInvoke.DestroyAllWindows();
}
}
2.像上一篇一样补上缺的东西。
有什么错,直接问,高效快速精准,太牛了。
3.测试:看结果,调参数,就这么简单。