public void CreateAndDispose1() { using (var eb = EdgeBoxes.Create()) { GC.KeepAlive(eb); } }
public void GetBoundingBoxes() { PrepareModel(Model); Assert.True(File.Exists(Model), $"Failed to download {ModelUrl}"); using (var obj = StructuredEdgeDetection.Create(Model)) using (var image = Image("blob/shapes1.png", ImreadModes.Color)) using (var image32F = new Mat()) using (var edges = new Mat()) using (var orientation = new Mat()) using (var edgesNms = new Mat()) { image.ConvertTo(image32F, MatType.CV_32FC3, 1.0 / 255); obj.DetectEdges(image32F, edges); obj.ComputeOrientation(edges, orientation); obj.EdgesNms(edges, orientation, edgesNms); using (var eb = EdgeBoxes.Create(maxBoxes: 5)) { eb.GetBoundingBoxes(edgesNms, orientation, out var boxes); Assert.NotEmpty(boxes); foreach (var box in boxes) { image.Rectangle(box, Scalar.Red, 2); } ShowImagesWhenDebugMode(image32F, edges, orientation, edgesNms, image); //Window.ShowImages(image, edgesNms); } } }