C# EmguCV 이미지 객체 검출

 

using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using Emgu.CV.Util;

public void ImageObjectDetection()
{
    // 이미지 로딩
    Image<Bgr, byte> image = new Image<Bgr, byte>("image.jpg");

    // 그레이스케일 변환
    Image<Gray, byte> grayImage = image.Convert<Gray, byte>();

    // 객체 검출
    using (CascadeClassifier faceCascade = new CascadeClassifier("haarcascade_frontalface_default.xml"))
    {
        Rectangle[] faces = faceCascade.DetectMultiScale(grayImage, 1.1, 3, Size.Empty);
        
        // 검출된 객체 주변에 사각형 그리기
        foreach (Rectangle face in faces)
            CvInvoke.Rectangle(image, face, new Bgr(Color.Red).MCvScalar, 2);
    }

    // 결과 이미지 표시
    ImageViewer viewer = new ImageViewer(image, "Object Detection");
    viewer.ShowDialog();
}

+ Recent posts