示例#1
1
 public void TestSimpleBlobDetector()
 {
    Mat box = EmguAssert.LoadMat("box.png");
    SimpleBlobDetectorParams p = new SimpleBlobDetectorParams();
    SimpleBlobDetector detector = new SimpleBlobDetector(p);
    MKeyPoint[] keypoints = detector.Detect(box);
 }
    protected void OnSimpleBlobDetectorClicked(object o, EventArgs e)
    {
        HideEdit();

        if (OriginalImage != null)
        {
            Application.Invoke(delegate
            {
                var parameters = new Emgu.CV.Features2D.SimpleBlobDetectorParams
                {
                    MinArea      = Convert.ToInt32(minArea.Value),
                    MaxArea      = Convert.ToInt32(maxArea.Value),
                    FilterByArea = true
                };

                cv.InitSimpleBlobDetector(parameters);

                using (var mat = cv.ToMat(OriginalImage))
                {
                    cv.SimpleBlobDetectionMat(
                        mat,
                        GtkSelection.Selection,
                        Convert.ToDouble(imageBox.WidthRequest) / OriginalImage.Width,
                        Convert.ToDouble(imageBox.HeightRequest) / OriginalImage.Height
                        );
                }
            });
        }
    }
示例#3
0
 /// <summary>
 /// Create a simple blob detector
 /// </summary>
 public SimpleBlobDetector(SimpleBlobDetectorParams parameters = null)
 {
    if (parameters == null)
       _ptr = CvInvoke.cveSimpleBlobDetectorCreate(ref _feature2D);
    else
    {
       _ptr = CvInvoke.cveSimpleBlobDetectorCreateWithParams(ref _feature2D, parameters);
    }
 }