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 ); } }); } }
/// <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); } }